bugfix
This commit is contained in:
parent
849751feb4
commit
d6880c3081
@ -72,9 +72,19 @@ bricks.AudioRecorder = class extends bricks.HBox {
|
|||||||
super(opts);
|
super(opts);
|
||||||
this.start_icon = opts.start_icon || bricks_resource('imgs/start_recording.png');
|
this.start_icon = opts.start_icon || bricks_resource('imgs/start_recording.png');
|
||||||
this.stop_icon = opts.stop_icon || bricks_resource('imgs/stop_recording.png');
|
this.stop_icon = opts.stop_icon || bricks_resource('imgs/stop_recording.png');
|
||||||
this.rec_btn = new bricks.Icon({url:this.start_icon, rate:this.icon_rate });
|
this.rec_btn = new bricks.Icon({
|
||||||
|
dynsize:true,
|
||||||
|
url:this.start_icon,
|
||||||
|
rate:this.icon_rate
|
||||||
|
});
|
||||||
// this.player = new bricks.AudioPlayer({url:"",width:'80px'});
|
// this.player = new bricks.AudioPlayer({url:"",width:'80px'});
|
||||||
this.rec_time = new bricks.Text({text:" record time", i18n:false, wrap:false, width:'120px'});
|
this.rec_time = new bricks.Text({
|
||||||
|
text:" record time",
|
||||||
|
i18n:false,
|
||||||
|
dynsize:true,
|
||||||
|
wrap:false,
|
||||||
|
width:'120px'
|
||||||
|
});
|
||||||
this.upload_url = opts.upload_url;
|
this.upload_url = opts.upload_url;
|
||||||
this.rec_btn.bind('click', this.rec_btn_pressed.bind(this))
|
this.rec_btn.bind('click', this.rec_btn_pressed.bind(this))
|
||||||
this.URL = window.URL||webkitURL;
|
this.URL = window.URL||webkitURL;
|
||||||
|
@ -403,6 +403,7 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
bricks.debug('this.loading is set, do not thing');
|
bricks.debug('this.loading is set, do not thing');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var running = new bricks.Running({target:this});
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
try {
|
try {
|
||||||
var d = await this.loader.loadPreviousPage();
|
var d = await this.loader.loadPreviousPage();
|
||||||
@ -417,12 +418,14 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
bricks.debug('e=', e);
|
bricks.debug('e=', e);
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
running.dismiss();
|
||||||
}
|
}
|
||||||
async load_next_page(){
|
async load_next_page(){
|
||||||
if (this.loading){
|
if (this.loading){
|
||||||
bricks.debug('this.loading is set, do not thing');
|
bricks.debug('this.loading is set, do not thing');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var running = new bricks.Running({target:this});
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
try {
|
try {
|
||||||
var d = await this.loader.loadNextPage();
|
var d = await this.loader.loadNextPage();
|
||||||
@ -437,6 +440,7 @@ bricks.DynamicAccordion = class extends bricks.VScrollPanel {
|
|||||||
bricks.debug('error happened', e);
|
bricks.debug('error happened', e);
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
running.dismiss();
|
||||||
bricks.debug('load_next_page() finished');
|
bricks.debug('load_next_page() finished');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,9 @@ bricks.FieldGroup = class extends bricks.VBox {
|
|||||||
box = new bricks.HBox({height:'auto',overflow:'none'});
|
box = new bricks.HBox({height:'auto',overflow:'none'});
|
||||||
}
|
}
|
||||||
box.set_css('inputbox');
|
box.set_css('inputbox');
|
||||||
|
if (fields[i].uitype !== 'hide'){
|
||||||
dc.add_widget(box);
|
dc.add_widget(box);
|
||||||
|
}
|
||||||
var txt = new bricks.Text({
|
var txt = new bricks.Text({
|
||||||
otext:fields[i].label||fields[i].name,
|
otext:fields[i].label||fields[i].name,
|
||||||
dynsize:true,
|
dynsize:true,
|
||||||
@ -190,6 +192,8 @@ bricks.Form = class extends bricks.VBox {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
async validation(){
|
async validation(){
|
||||||
|
var running = new bricks.Running({target:this});
|
||||||
|
try {
|
||||||
var data = this.getValue();
|
var data = this.getValue();
|
||||||
this.dispatch('submit', data);
|
this.dispatch('submit', data);
|
||||||
if (this.submit_url){
|
if (this.submit_url){
|
||||||
@ -201,9 +205,11 @@ bricks.Form = class extends bricks.VBox {
|
|||||||
});
|
});
|
||||||
this.dispatch('submited', resp);
|
this.dispatch('submited', resp);
|
||||||
}
|
}
|
||||||
|
} catch (e){
|
||||||
|
bricks.debug('form submit error', e);
|
||||||
|
}
|
||||||
|
running.dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bricks.Factory.register('Form', bricks.Form);
|
bricks.Factory.register('Form', bricks.Form);
|
||||||
|
@ -5,7 +5,7 @@ bricks.UiType =class extends bricks.Layout {
|
|||||||
this.name = this.opts.name;
|
this.name = this.opts.name;
|
||||||
this.required = opts.required || false;
|
this.required = opts.required || false;
|
||||||
this.ctype = 'text';
|
this.ctype = 'text';
|
||||||
this.value = '';
|
this.value = opts.value || opts.defaultvalue||'';
|
||||||
}
|
}
|
||||||
|
|
||||||
getValue(){
|
getValue(){
|
||||||
@ -13,6 +13,9 @@ bricks.UiType =class extends bricks.Layout {
|
|||||||
o[this.name] = this.resultValue();
|
o[this.name] = this.resultValue();
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
resultValue(){
|
||||||
|
return this.value;
|
||||||
|
}
|
||||||
focus(){
|
focus(){
|
||||||
this.dom_element.focus();
|
this.dom_element.focus();
|
||||||
}
|
}
|
||||||
@ -39,6 +42,50 @@ bricks.UiType =class extends bricks.Layout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bricks.UiAudioText = class extends bricks.UiType {
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"upload_url"
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
static uitype = 'audiotext';
|
||||||
|
constructor(opts){
|
||||||
|
super(opts);
|
||||||
|
this.recorder = new bricks.AudioRecorder({
|
||||||
|
icon_rate:2,
|
||||||
|
upload_url:opts.upload_url
|
||||||
|
});
|
||||||
|
this.recorder.bind('record_started', this.clear_text.bind(this));
|
||||||
|
this.add_widget(this.recorder);
|
||||||
|
var opts1 = bricks.extend({}, opts);
|
||||||
|
opts1.width = "97%";
|
||||||
|
this.text_w = new bricks.UiText(opts1);
|
||||||
|
this.add_widget(this.text_w);
|
||||||
|
this.recorder.bind('uploaded', this.set_result_text.bind(this));
|
||||||
|
}
|
||||||
|
clear_text(){
|
||||||
|
this.text_w.setValue('');
|
||||||
|
}
|
||||||
|
getValue(){
|
||||||
|
return this.text_w.getValue();
|
||||||
|
}
|
||||||
|
setValue(v){
|
||||||
|
this.text_w.setValue(v);
|
||||||
|
}
|
||||||
|
set_result_text(event){
|
||||||
|
var txt = event.params.text;
|
||||||
|
this.text_w.setValue(txt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bricks.UiHide = class extends bricks.UiType {
|
||||||
|
static uitype = 'hide';
|
||||||
|
constructor(opts){
|
||||||
|
super(opts);
|
||||||
|
this.set_style('display', 'none');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bricks.UiStr =class extends bricks.UiType {
|
bricks.UiStr =class extends bricks.UiType {
|
||||||
static uitype='str';
|
static uitype='str';
|
||||||
/*
|
/*
|
||||||
@ -722,6 +769,7 @@ bricks.UiVideo =class extends bricks.UiStr {
|
|||||||
}
|
}
|
||||||
var Input = new bricks._Input();
|
var Input = new bricks._Input();
|
||||||
Input.register('UiStr', bricks.UiStr);
|
Input.register('UiStr', bricks.UiStr);
|
||||||
|
Input.register('UiHide', bricks.UiHide);
|
||||||
Input.register('UiTel', bricks.UiTel);
|
Input.register('UiTel', bricks.UiTel);
|
||||||
Input.register('UiDate', bricks.UiDate);
|
Input.register('UiDate', bricks.UiDate);
|
||||||
Input.register('UiInt', bricks.UiInt);
|
Input.register('UiInt', bricks.UiInt);
|
||||||
@ -735,3 +783,4 @@ Input.register('UiText', bricks.UiText);
|
|||||||
Input.register('UiPassword', bricks.UiPassword);
|
Input.register('UiPassword', bricks.UiPassword);
|
||||||
Input.register('UiAudio', bricks.UiAudio);
|
Input.register('UiAudio', bricks.UiAudio);
|
||||||
Input.register('UiVideo', bricks.UiVideo);
|
Input.register('UiVideo', bricks.UiVideo);
|
||||||
|
Input.register('UiAudioText', bricks.UiAudioText);
|
||||||
|
47
bricks/running.js
Normal file
47
bricks/running.js
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
var bricks = window.bricks || {};
|
||||||
|
|
||||||
|
bricks.Running = class extends bricks.BaseModal {
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
target:
|
||||||
|
icon:
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
constructor(opts){
|
||||||
|
opts.auto_open = true;
|
||||||
|
opts.archor = 'cc';
|
||||||
|
opts.width='96px';
|
||||||
|
super(opts);
|
||||||
|
this.icon_w = new bricks.Icon({
|
||||||
|
url:opts.icon || bricks_resource('imgs/running.gif')
|
||||||
|
});
|
||||||
|
this.time_w = new bricks.Text({
|
||||||
|
text:'test123',
|
||||||
|
color:'#222',
|
||||||
|
wrap:false,
|
||||||
|
width:'50px',
|
||||||
|
i18n:false
|
||||||
|
});
|
||||||
|
this.time_start = new Date().getTime();
|
||||||
|
var box = new bricks.FHBox({width:'auto'});
|
||||||
|
box.add_widget(this.icon_w);
|
||||||
|
box.add_widget(this.time_w);
|
||||||
|
this.add_widget(box);
|
||||||
|
this.showtime_task = schedule_once(this.show_timepass.bind(this), 0.05);
|
||||||
|
}
|
||||||
|
show_timepass(){
|
||||||
|
var t = new Date().getTime() - this.time_start;
|
||||||
|
var txt = bricks.formatMs(t, 1);
|
||||||
|
this.time_w.set_text(txt);
|
||||||
|
this.showtime_task = schedule_once(this.show_timepass.bind(this), 0.05);
|
||||||
|
}
|
||||||
|
dismiss(){
|
||||||
|
if (this.showtime_task){
|
||||||
|
this.showtime_task.cancel();
|
||||||
|
this.showtime_task = null;
|
||||||
|
}
|
||||||
|
bricks.BaseModal.prototype.dismiss.bind(this)();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bricks.Factory.register('Running', bricks.Running);
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
"widgettype":"VBox",
|
"widgettype":"VBox",
|
||||||
"options":{"height":"100%", "width":"100%"},
|
"options":{"height":"100%", "width":"100%"},
|
||||||
@ -147,6 +146,14 @@
|
|||||||
"value":"This is a test",
|
"value":"This is a test",
|
||||||
"label":"Text",
|
"label":"Text",
|
||||||
'required':true
|
'required':true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uitype":"audiotext",
|
||||||
|
"upload_url":"https://sage.opencomputing.cn/stt/generate",
|
||||||
|
"name":"atext",
|
||||||
|
"value":"This is a test",
|
||||||
|
"label":"Text",
|
||||||
|
'required':true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
4
examples/running.ui
Normal file
4
examples/running.ui
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"widgettype":"Running",
|
||||||
|
"options":{}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user