svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 3034 793ce2117258
parent 3031 440d74319a74
child 3038 92101729f7b7
equal deleted inserted replaced
3033:52f6548982d4 3034:793ce2117258
  3335 </xsl:text>
  3335 </xsl:text>
  3336     <xsl:text>        edit_value("</xsl:text>
  3336     <xsl:text>        edit_value("</xsl:text>
  3337     <xsl:value-of select="path/@value"/>
  3337     <xsl:value-of select="path/@value"/>
  3338     <xsl:text>", "</xsl:text>
  3338     <xsl:text>", "</xsl:text>
  3339     <xsl:value-of select="path/@type"/>
  3339     <xsl:value-of select="path/@type"/>
  3340     <xsl:text>", this, this.last_val,size);
  3340     <xsl:text>", this, this.last_val, size);
  3341 </xsl:text>
  3341 </xsl:text>
  3342     <xsl:text>    },
  3342     <xsl:text>    },
  3343 </xsl:text>
  3343 </xsl:text>
  3344     <xsl:text>    edit_callback: function(new_val) {
  3344     <xsl:text>    edit_callback: function(new_val) {
  3345 </xsl:text>
  3345 </xsl:text>
  3349 </xsl:text>
  3349 </xsl:text>
  3350   </xsl:template>
  3350   </xsl:template>
  3351   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  3351   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  3352     <xsl:text>class JsonTableWidget extends Widget{
  3352     <xsl:text>class JsonTableWidget extends Widget{
  3353 </xsl:text>
  3353 </xsl:text>
       
  3354     <xsl:text>    cache = [];
       
  3355 </xsl:text>
  3354     <xsl:text>    do_http_request() {
  3356     <xsl:text>    do_http_request() {
  3355 </xsl:text>
  3357 </xsl:text>
  3356     <xsl:text>        const query = {
  3358     <xsl:text>        const query = {
  3357 </xsl:text>
  3359 </xsl:text>
  3358     <xsl:text>             offset: '42',
  3360     <xsl:text>            args: this.args,
  3359 </xsl:text>
  3361 </xsl:text>
  3360     <xsl:text>             filter: '*powerloss*',
  3362     <xsl:text>            vars: this.cache
  3361 </xsl:text>
       
  3362     <xsl:text>             args: this.args
       
  3363 </xsl:text>
  3363 </xsl:text>
  3364     <xsl:text>        };
  3364     <xsl:text>        };
  3365 </xsl:text>
  3365 </xsl:text>
  3366     <xsl:text>
  3366     <xsl:text>
  3367 </xsl:text>
  3367 </xsl:text>
  3371 </xsl:text>
  3371 </xsl:text>
  3372     <xsl:text>             body: JSON.stringify(query),
  3372     <xsl:text>             body: JSON.stringify(query),
  3373 </xsl:text>
  3373 </xsl:text>
  3374     <xsl:text>             headers: {'Content-Type': 'application/json'}
  3374     <xsl:text>             headers: {'Content-Type': 'application/json'}
  3375 </xsl:text>
  3375 </xsl:text>
  3376     <xsl:text>        }
  3376     <xsl:text>        };
  3377 </xsl:text>
  3377 </xsl:text>
  3378     <xsl:text>
  3378     <xsl:text>
  3379 </xsl:text>
  3379 </xsl:text>
  3380     <xsl:text>        fetch(this.args[0], options)
  3380     <xsl:text>        fetch(this.args[0], options)
  3381 </xsl:text>
  3381 </xsl:text>
  3385 </xsl:text>
  3385 </xsl:text>
  3386     <xsl:text>
  3386     <xsl:text>
  3387 </xsl:text>
  3387 </xsl:text>
  3388     <xsl:text>    }
  3388     <xsl:text>    }
  3389 </xsl:text>
  3389 </xsl:text>
  3390     <xsl:text>    dispatch(value) {
  3390     <xsl:text>    dispatch(value, oldval, index) {
       
  3391 </xsl:text>
       
  3392     <xsl:text>        console.log("mhooo", index);
       
  3393 </xsl:text>
       
  3394     <xsl:text>        this.cache[index] = value;
  3391 </xsl:text>
  3395 </xsl:text>
  3392     <xsl:text>        this.do_http_request();
  3396     <xsl:text>        this.do_http_request();
  3393 </xsl:text>
  3397 </xsl:text>
  3394     <xsl:text>    }
  3398     <xsl:text>    }
  3395 </xsl:text>
  3399 </xsl:text>
  4015 </xsl:text>
  4019 </xsl:text>
  4016     <xsl:text>
  4020     <xsl:text>
  4017 </xsl:text>
  4021 </xsl:text>
  4018     <xsl:text>     on_Enter_click() {
  4022     <xsl:text>     on_Enter_click() {
  4019 </xsl:text>
  4023 </xsl:text>
  4020     <xsl:text>         end_modal.call(this);
  4024     <xsl:text>         let coercedval = (typeof this.initial) == "number" ? Number(this.editstr) : this.editstr;
  4021 </xsl:text>
  4025 </xsl:text>
  4022     <xsl:text>         let callback_obj = this.result_callback_obj;
  4026     <xsl:text>         if(isNaN(coercedval)){
  4023 </xsl:text>
  4027 </xsl:text>
  4024     <xsl:text>         callback_obj.edit_callback(this.editstr);
  4028     <xsl:text>             this.editstr = String(this.initial);
       
  4029 </xsl:text>
       
  4030     <xsl:text>             this.update();
       
  4031 </xsl:text>
       
  4032     <xsl:text>         } else { // revert to initial so it explicitely shows input was ignored
       
  4033 </xsl:text>
       
  4034     <xsl:text>             let callback_obj = this.result_callback_obj;
       
  4035 </xsl:text>
       
  4036     <xsl:text>             end_modal.call(this);
       
  4037 </xsl:text>
       
  4038     <xsl:text>             callback_obj.edit_callback(coercedval);
       
  4039 </xsl:text>
       
  4040     <xsl:text>         }
  4025 </xsl:text>
  4041 </xsl:text>
  4026     <xsl:text>     }
  4042     <xsl:text>     }
  4027 </xsl:text>
  4043 </xsl:text>
  4028     <xsl:text>
  4044     <xsl:text>
  4029 </xsl:text>
  4045 </xsl:text>
  4113 </xsl:text>
  4129 </xsl:text>
  4114     <xsl:text>     start_edit(info, valuetype, callback_obj, initial,size) {
  4130     <xsl:text>     start_edit(info, valuetype, callback_obj, initial,size) {
  4115 </xsl:text>
  4131 </xsl:text>
  4116     <xsl:text>         show_modal.call(this,size);
  4132     <xsl:text>         show_modal.call(this,size);
  4117 </xsl:text>
  4133 </xsl:text>
  4118     <xsl:text>         this.editstr = initial;
  4134     <xsl:text>         this.editstr = String(initial);
  4119 </xsl:text>
  4135 </xsl:text>
  4120     <xsl:text>         this.result_callback_obj = callback_obj;
  4136     <xsl:text>         this.result_callback_obj = callback_obj;
  4121 </xsl:text>
  4137 </xsl:text>
  4122     <xsl:text>         this.Info_elt.textContent = info;
  4138     <xsl:text>         this.Info_elt.textContent = info;
  4123 </xsl:text>
  4139 </xsl:text>
  4124     <xsl:text>         this.shift = false;
  4140     <xsl:text>         this.shift = false;
  4125 </xsl:text>
  4141 </xsl:text>
  4126     <xsl:text>         this.caps = false;
  4142     <xsl:text>         this.caps = false;
       
  4143 </xsl:text>
       
  4144     <xsl:text>         this.initial = initial;
       
  4145 </xsl:text>
       
  4146     <xsl:text>
  4127 </xsl:text>
  4147 </xsl:text>
  4128     <xsl:text>         this.update();
  4148     <xsl:text>         this.update();
  4129 </xsl:text>
  4149 </xsl:text>
  4130     <xsl:text>     }
  4150     <xsl:text>     }
  4131 </xsl:text>
  4151 </xsl:text>