HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //usr/syno/synoman/webman/modules/ThumbConvertProgress/ThumbConvertProgress.js
/* Copyright (c) 2021 Synology Inc. All rights reserved. */

Ext.define("SYNO.SDS.ThumbConvertProgress.Application",{extend:"SYNO.SDS.AppInstance",trayItem:[],initInstance:function(a){this.trayItem[0]=new SYNO.SDS.ThumbConvertProgress.Tray({AppInstance:this});this.addInstance(this.trayItem);this.trayItem[0].open(a)}});Ext.define("SYNO.SDS.ThumbConvertProgress.Tray",{extend:"SYNO.SDS.Tray.ArrowTray",initPanel:function(){var b=this;var a=new SYNO.SDS.ThumbConvertProgress.Panel({module:b});return a},onMouseDown:function(b){var a=this.panel.field_combo.list;if(typeof(a)!="undefined"&&b.within(a.dom)){return}return this.superclass().onMouseDown.apply(this,[b])}});Ext.define("SYNO.SDS.ThumbConvertProgress.Panel",{extend:"SYNO.SDS.Tray.Panel",IDLE_PAUSED_POLLING_INTERVAL:60,CONVERTING_POLLING_INTERVAL:5,constructor:function(a){this.bar=new SYNO.SDS.ThumbConvertProgress.Bar();this.module=a.module;this.staticIconCls="sds-tray-item-static-creating-thumbnail";this.aniIconCls="sds-tray-item-ani-creating-thumbnail";var b=Ext.apply({module:a.module,title:_T("convert_progress","title"),layout:"vbox",width:360,autoHeight:true,renderTo:document.body,defaults:{width:340},items:this.createObjs()},a);this.callParent([b]);this.getCmpsAsMembers();this.polling_interval=this.IDLE_PAUSED_POLLING_INTERVAL;this.startPolling()},createObjs:function(){var a=[{xtype:"syno_displayfield",cls:"thumb_conv_progress_desc",htmlEncode:false,id:this.field_photo=Ext.id()},{xtype:"box",id:this.field_photo_bar=Ext.id(),data:this.bar.createApplyConfig(0),tpl:this.bar},{xtype:"syno_displayfield",height:12,width:"100%",cls:"syno_thumb_div"},{xtype:"syno_displayfield",height:4},{xtype:"syno_displayfield",cls:"thumb_conv_progress_desc",htmlEncode:false,id:this.field_video=Ext.id()},{xtype:"box",id:this.field_video_bar=Ext.id(),data:this.bar.createApplyConfig(0),tpl:this.bar},{xtype:"syno_displayfield",height:12,width:"100%",cls:"syno_thumb_div"},{xtype:"syno_displayfield",height:4},{xtype:"syno_compositefield",hideLabel:true,cls:"thumb_conv_progress_desc",items:[{xtype:"syno_displayfield",id:this.field_status=Ext.id(),htmlEncode:false,cls:"syno_thumb_status_div"},{xtype:"box",margins:{top:7,right:0,bottom:4,left:8},id:this.field_statusIcon=Ext.id()}]},{xtype:"syno_displayfield",height:4},{xtype:"syno_compositefield",cls:"thumb_conv_progress_composite",hideLabel:true,items:[this.createComboBoxConfig(),{xtype:"syno_button",margins:{top:0,right:0,bottom:0,left:3},width:32,height:28,id:this.field_pause=Ext.id(),scope:this,handler:this.onPauseBtnClick}]},{xtype:"syno_displayfield",height:8},{xtype:"syno_displayfield",value:this.createNoteText(),htmlEncode:false,cls:"thumb_conv_progress_desc",id:this.field_note=Ext.id()}];return a},createNoteText:function(){return('<font class="syno-ux-note">'+_T("common","note")+": </font><font>"+_T("convert_progress","desc")+"</font>")},createComboBoxConfig:function(){var a={xtype:"syno_combobox",name:"delay_hours",id:this.field_combo=Ext.id(),value:1,displayField:"display",width:294,valueField:"value",store:new Ext.data.ArrayStore({fields:["value","display"],data:[[1,String.format(_T("thumb_conv_progress","delay_hours"),"1")],[3,String.format(_T("thumb_conv_progress","delay_hours"),"3")],[6,String.format(_T("thumb_conv_progress","delay_hours"),"6")],[-1,_T("thumb_conv_progress","delay_forever")]]})};return a},getCmpsAsMembers:function(){var b=["field_photo_bar","field_video_bar","field_pause","field_combo","field_status","field_video","field_photo","field_note","field_statusIcon"];for(var a=0;a<b.length;++a){this[b[a]]=Ext.getCmp(this[b[a]])}},startPolling:function(){if(this.polling_id){this.stopPolling()}this.polling_id=this.pollReg({interval:this.polling_interval,immediate:true,scope:this,webapi:{api:"SYNO.Core.MediaIndexing.MediaConverter",method:"status",version:1},status_callback:this.polling_callback})},stopPolling:function(){if(!this.polling_id){return}this.pollUnreg(this.polling_id);this.polling_id=null},polling_callback:function(g,d,f,b){if(g){this.setStatusDesc(d);this.updateBtn(d.status);this.setPhotoProgress(d);this.setVideoProgress(d);var e=d.status==="converting"||d.status==="paused";this.module.setTaskButtonVisible(e);var a=d.status==="paused"?this.staticIconCls:this.aniIconCls;this.module.taskButton.setIconClass(a);if(!e){this.hide()}var c=(d.status==="converting");this.doLayout();this.correctResize();this.updatePollingInterval(c)}else{}},updatePollingInterval:function(a){var b=a?this.CONVERTING_POLLING_INTERVAL:this.IDLE_PAUSED_POLLING_INTERVAL;if(b!==this.polling_interval){this.polling_interval=b;this.stopPolling();this.startPolling()}},correctResize:function(){var b=["field_photo","field_photo_bar","field_video","field_video_bar","field_combo","field_status","field_note"];var a=90;for(var c=0;c<b.length;++c){a+=this[b[c]].getHeight()}this.onResize(this.getWidth(),a)},setStatusDesc:function(e){var b=e.status;var d={idle:_T("thumb_conv_progress","conv_status_idle"),converting:_T("thumb_conv_progress","status_converting"),paused:_T("thumb_conv_progress","conv_status_paused"),stopped:_T("thumb_conv_progress","conv_status_stopped")};var a={idle:"",converting:this.createImgTag("default/1x/icon_creating_thumbnail.gif"),paused:"",stopped:""};var c=this.addLabelFont(_T("thumb_conv_progress","label_conv_status"));this.field_status.setValue(c+": "+d[b]);this.field_statusIcon.update(a[b]);this.doLayout()},createImgTag:function(a){return'<img src="/webman/modules/ThumbConvertProgress/images/'+a+'"></img>'},setPhotoProgress:function(d){var c=d.photo_total;var a=d.thumb_total;var e=d.thumb_remain;var f=this.addLabelFont(_T("fileindex","type_photo")+": ");var b=a===0?0:(a-e)/a;f+=String.format(_T("thumb_conv_progress","str_photo_total_desc"),c);this.field_photo.setValue(f);this.field_photo_bar.update(this.bar.createApplyConfig(b,c))},setVideoProgress:function(d){var b=d.video_total;var c=d.video_remain;var e=this.addLabelFont(_T("thumb_conv_progress","videos")+": ");var a=(b===0?0:(b-c)/b);e+=String.format(_T("thumb_conv_progress","str_video_total_desc"),b);this.field_video.setValue(e);this.field_video_bar.update(this.bar.createApplyConfig(a,b))},updateBtn:function(a){var c=a==="paused";var d=a==="converting";var b=c?"syno_thumb_conv_btn_resume":"syno_thumb_conv_btn_pause";this.field_combo.setDisabled(!d);this.field_pause.setDisabled(!d&&!c);this.field_pause.setIconClass(b);this.isPaused=c},onPauseBtnClick:function(){var b=this.isPaused?"resume":"pause";var a=this.isPaused?{}:{delay_hours:this.field_combo.getValue()};this.stopPolling();this.field_pause.disable();this.field_combo.disable();this.sendWebAPI({params:{},compound:{stopwhenerror:false,params:[{api:"SYNO.Core.MediaIndexing.MediaConverter",method:b,version:1,params:a},{api:"SYNO.Core.MediaIndexing.MediaConverter",method:"status",version:1,params:{}}]},scope:this,callback:function(f,d,c){var e=d.result[1];this.polling_callback(e.success,e.data,{},{});this.startPolling()}})},addLabelFont:function(a){return'<font class="syno_thumb_label_font">'+a+"</font>"}});Ext.define("SYNO.SDS.ThumbConvertProgress.Bar",{extend:"Ext.XTemplate",defaultConf:{barWidth:191,barHeight:16,value:0,showValueText:true,cls:"sds-ux-progressbar"},constructor:function(a){Ext.apply(this,this.defaultConf);Ext.apply(this,a);SYNO.SDS.ThumbConvertProgress.Bar.superclass.constructor.call(this,'<div class="thumb_conv_progress_desc">','<div class="{cls} syno-percentage-cmp">','<div class="percentage-cmp-hbar-background" style="width:{barWidth}px; height:{barHeight}px;">','<div class="percentage-cmp-hbar-fill" style="width:{fillW}px; height:{barHeight}px;" ></div>',"</div>",'<tpl if="(showValueText)">','<div class="percentage-cmp-value" style="line-height: {barHeight}px; font-size:12px;"> ',"{value}%</div>","</tpl>","</div>","</div>")},createApplyConfig:function(e,d){var c=Math.round(e*100);var b=e*this.barWidth;var a={barHeight:this.barHeight,barWidth:this.barWidth,fillW:b,value:c,showValueText:this.showValueText&&d>0,cls:this.cls};return a}});