svghmi/widget_keypad.ysl2
branchsvghmi
changeset 3033 52f6548982d4
parent 3010 893cc309f5e2
child 3042 ed43facc7137
equal deleted inserted replaced
3032:2f6dfb99d094 3033:52f6548982d4
    86          on_Esc_click() {
    86          on_Esc_click() {
    87              end_modal.call(this);
    87              end_modal.call(this);
    88          }
    88          }
    89 
    89 
    90          on_Enter_click() {
    90          on_Enter_click() {
    91              end_modal.call(this);
    91              let coercedval = (typeof this.initial) == "number" ? Number(this.editstr) : this.editstr;
    92              let callback_obj = this.result_callback_obj;
    92              if(isNaN(coercedval)){
    93              callback_obj.edit_callback(this.editstr);
    93                  this.editstr = String(this.initial);
       
    94                  this.update();
       
    95              } else { // revert to initial so it explicitely shows input was ignored
       
    96                  let callback_obj = this.result_callback_obj;
       
    97                  end_modal.call(this);
       
    98                  callback_obj.edit_callback(coercedval);
       
    99              }
    94          }
   100          }
    95 
   101 
    96          on_BackSpace_click() {
   102          on_BackSpace_click() {
    97              this.editstr = this.editstr.slice(0,this.editstr.length-1);
   103              this.editstr = this.editstr.slice(0,this.editstr.length-1);
    98              this.update();
   104              this.update();
   135          editstr = "";
   141          editstr = "";
   136          _editstr = undefined;
   142          _editstr = undefined;
   137          result_callback_obj = undefined;
   143          result_callback_obj = undefined;
   138          start_edit(info, valuetype, callback_obj, initial,size) {
   144          start_edit(info, valuetype, callback_obj, initial,size) {
   139              show_modal.call(this,size);
   145              show_modal.call(this,size);
   140              this.editstr = initial;
   146              this.editstr = String(initial);
   141              this.result_callback_obj = callback_obj;
   147              this.result_callback_obj = callback_obj;
   142              this.Info_elt.textContent = info;
   148              this.Info_elt.textContent = info;
   143              this.shift = false;
   149              this.shift = false;
   144              this.caps = false;
   150              this.caps = false;
       
   151              this.initial = initial;
       
   152 
   145              this.update();
   153              this.update();
   146          }
   154          }
   147 
   155 
   148          update() {
   156          update() {
   149              if(this.editstr != this._editstr){
   157              if(this.editstr != this._editstr){