HEX
Server: Apache/2.4.63 (Unix)
System: Linux TOMS-220NAS 4.4.302+ #86009 SMP Wed Nov 26 18:19:17 CST 2025 x86_64
User: flavio87 (1026)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: //proc/25636/root/var/packages/StorageManager/target/ui/background_task.js
!function(){"use strict";var t={n:function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,{a:a}),a},d:function(e,a){for(var s in a)t.o(a,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:a[s]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e=Vue,a=t.n(e),s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("bkg-task-instance",{staticClass:"sm-data-scrubbing-card-main",attrs:{"status-api":{api:"SYNO.API.Example",version:1,method:"status"},"stop-api":{api:"SYNO.API.Example",version:1,method:"stop"},task:t.task}},[a("bkg-basic-task-card",{attrs:{task:t.task,"detail-app":t.detailApp},scopedSlots:t._u([{key:"info-wrapper",fn:function(){return[t._l(t.taskItemIDs,(function(e,s){return[0!==s?a("bkg-hr",{key:e+"-hdr"}):t._e(),t._v(" "),a("bkg-info-block",{key:e+"-info"},[a("div",{staticClass:"status-wrapper"},[a("bkg-status",{attrs:{status:t.getIconStatus(t.getPoolID(e))}}),t._v(" "),a("bkg-status-title",{attrs:{"status-title":t.getStateTitle(t.getPoolID(e)),"has-ellipsis-anim":!t.isPaused(t.getPoolID(e))}}),t._v(" "),a("div",{staticClass:"status-actions"},[t._t("status-actions",(function(){return[t.canShowPause(t.poolScrubbingStateMap[t.getPoolID(e)])?a("bkg-pause-btn",{attrs:{options:!1},on:{click:function(a){t.onPause(t.getPoolID(e))}}}):t._e(),t._v(" "),t.canShowResume(t.poolScrubbingStateMap[t.getPoolID(e)])?a("bkg-resume-btn",{on:{click:function(a){t.onResume(t.getPoolID(e))}}}):t._e(),t._v(" "),t.canShowCancel(t.poolScrubbingStateMap[t.getPoolID(e)])?a("bkg-cancel-btn",{on:{click:function(a){t.onCancel(t.getPoolID(e))}}}):t._e()]}))],2)],1),t._v(" "),a("div",{staticClass:"info"},[a("bkg-primary-info",[a("div",[t._v(t._s(t.T("sm_background_task","primary_title_run_on")+" ")),a("span",{staticClass:"sm-data-scrubbing-card-name"},[t._v(t._s(t.getPoolName(t.getPoolID(e))))])])]),t._v(" "),t.taskItemIDs.length-1===s?a("bkg-desc",[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.T("sm_background_task","desc_data_scrubbing"))+"\n\t\t\t\t\t\t\t")]):t._e()],1)])]}))]},proxy:!0}],null,!0)})],1)};s._withStripped=!0;var i={methods:{T:(t,e)=>_T(t,e)||e,TT:(t,e,a)=>_TT(t,e,a)||String.format("{0}:{1}:{2}",t,e,a),format:(...t)=>String.format.apply(String,t),JSLIBSTR:(t,e)=>_JSLIBSTR(t,e)||e,htmlEncode:t=>t?String(t).replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):t,htmlDecode:t=>t?String(t).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&amp;/g,"&"):t,parseStringWithArg({section:t="",key:e="",args:a}){let s=a.map((t=>{let e="";return"text"===t.type?e=t.textContent:"key"===t.type&&(e=this.T(t.strSection,t.strKey)),e}));return this.format(this.T(t,e),...s)}}};function o(t,e,a,s,i,o,n,r){var l,p="function"==typeof t?t.options:t;if(e&&(p.render=e,p.staticRenderFns=a,p._compiled=!0),s&&(p.functional=!0),o&&(p._scopeId="data-v-"+o),n?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(n)},p._ssrRegister=l):i&&(l=r?function(){i.call(this,(p.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(p.functional){p._injectStyles=l;var c=p.render;p.render=function(t,e){return l.call(e),c(t,e)}}else{var u=p.beforeCreate;p.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:p}}var n=o({props:{task:{type:Object,default:()=>({})}},data:()=>({isloaded:!1,taskItemMap:{},poolScrubbingStateMap:{},storageInfo:null,detailApp:{appJsId:"SYNO.SDS.StorageManager.Instance",params:{fn:"SYNO.SDS.StorageManager.Pool.Main"}}}),async created(){if(Object.prototype.hasOwnProperty.call(this.task,"tasksData")){const t=[],e="storage_manager",a=this.task.originalKey;for(const[s,i]of Object.entries(this.task.tasksData)){const o=this.normalizeTaskItem(i,e,a,s);this.taskItemMap[s]=o,t.push(o.custom_data.poolID)}await this.loadPoolScrubbingState(t)}this.storageInfo=await synowebapi.promises.request({api:"SYNO.Storage.CGI.Storage",version:1,method:"load_info"}).then((t=>t)),this.isloaded=!0},computed:{taskItemIDs(){return Object.keys(this.taskItemMap)}},methods:{onPause(t){const e=this.poolScrubbingStateMap[t];"schedule_running"===e?synowebapi.promises.request({api:"SYNO.Storage.CGI.Storage",version:1,method:"set_data_scrubbing_schedule_status",params:{schedule_status:"1"}}):"manual_running"!==e&&"kernel_running"!==e||synowebapi.promises.request({api:"SYNO.Storage.CGI.Pool",version:1,method:"pause_data_scrubbing",params:{space_id:t}})},onResume(t){const e=this.poolScrubbingStateMap[t];"schedule_paused"===e?synowebapi.promises.request({api:"SYNO.Storage.CGI.Storage",version:1,method:"set_data_scrubbing_schedule_status",params:{schedule_status:"0"}}):"paused"===e&&synowebapi.promises.request({api:"SYNO.Storage.CGI.Pool",version:1,method:"data_scrubbing",params:{space_id:t,force:!1}})},onCancel(t){synowebapi.promises.request({api:"SYNO.Storage.CGI.Pool",version:1,method:"cancel_data_scrubbing",params:{space_id:t}})},isMatchAnyState(t,e){const a={pause:["manual_running","schedule_running","kernel_running"],resume:["paused","schedule_paused"],cancel:["manual_running","kernel_running","paused"]};return t in a&&a[t].includes(e)},canShowPause(t){return this.isMatchAnyState("pause",t)},canShowResume(t){return this.isMatchAnyState("resume",t)},canShowCancel(t){return this.isMatchAnyState("cancel",t)},isPaused(t){const e=this.poolScrubbingStateMap[t];return["paused","schedule_paused"].includes(e)},getIconStatus(t){return this.isPaused(t)?"pause":"running"},getStateTitle(t){const e=this.poolScrubbingStateMap[t];return this.T("data_scrubbing",e)},getSingleDiskVolumeID(){const t="volume_1";if(!this.isloaded)return t;const e=this.storageInfo.volumes.find((t=>0===t.pool_path.length));return e?e.id:t},getPoolName(t){if(!this.isloaded)return"";const e=this.storageInfo.storagePools.find((e=>t===e.id));return e?SYNO.SDS.StorageUtils.SpaceIDParser(e.id).str:SYNO.SDS.StorageUtils.SpaceIDParser("reuse_").str},getPoolID(t){return this.taskItemMap[t].custom_data.poolID},async loadPoolScrubbingState(t){const e=[];t.forEach((t=>{let a=t;"reuse_"===t&&(a=this.getSingleDiskVolumeID()),e.push({api:"SYNO.Storage.CGI.Scrubbing",version:1,method:"get_state",params:{space_id:a}})}));const a=await synowebapi.promises.request({api:"SYNO.Entry.Request",version:1,method:"request",compound:{stopwhenerror:!0,mode:"parallel",params:e}}).then((t=>t));for(const[e,s]of t.entries())a.result[e].success&&this.$set(this.poolScrubbingStateMap,s,a.result[e].data.state)},normalizeTaskItem:(t,e,a,s)=>Object.assign({},{id:s,group:e,function:a,task:s},t),_auth:()=>SYNO.SDS.StatusNotifier.isAppHasPrivilege("SYNO.SDS.StorageManager.Instance"),async onPostTask(t){const e=t.group,a=t.function,s=t.task,i=this.normalizeTaskItem(t,e,a,s);this.$set(this.taskItemMap,s,i),await this.loadPoolScrubbingState([t.custom_data.poolID])},onDeleteTask(t){const e=t.task,a=this.taskItemMap[e].custom_data.poolID;this.$delete(this.poolScrubbingStateMap,a),this.$delete(this.taskItemMap,e)}},mixins:[i]},s,[],!1,null,null,null);n.options.__file="js/vue/background-task/function/DataScrubbingCard.vue";var r=n.exports,l=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("bkg-task-instance",{staticClass:"sm-space-reclaim-card-main",attrs:{"status-api":{api:"SYNO.API.Example",version:1,method:"status"},"stop-api":{api:"SYNO.API.Example",version:1,method:"stop"},task:t.task}},[a("bkg-basic-task-card",{attrs:{task:t.task,statusTitle:t.T("volume","space_reclaim_tray_exec_status_running"),"detail-app":t.detailApp},scopedSlots:t._u([{key:"status-actions",fn:function(){return[a("bkg-stop-btn",{attrs:{options:t.options},on:{click:t.onStop}})]},proxy:!0},{key:"info",fn:function(){return[a("bkg-primary-info",[a("div",[t._v(t._s(t.T("volume","space_reclaim_tray_item_remaining"))),a("span",{staticClass:"sm-space-reclaim-card-name"},[t._v(t._s(" "+t.getRemainingSubvol()))])])]),t._v(" "),a("bkg-desc",[a("div",[t._v(t._s(t.T("volume","space_reclaim_tray_item_main_desc"))+" "),a("a",{staticClass:"link-font",attrs:{href:"#"},on:{click:t.openHelper}},[t._v(t._s(t.T("common","learn_more")))])])])]},proxy:!0}])})],1)};l._withStripped=!0;var p=o({props:{task:{type:Object,default:()=>({})}},data(){return{remaining:0,options:[{label:this.T("volume","space_reclaim_tray_item_delay_opt_single"),value:1},{label:String.format(this.T("volume","space_reclaim_tray_item_delay_opt_multiple"),4),value:4},{label:String.format(this.T("volume","space_reclaim_tray_item_delay_opt_multiple"),8),value:8}],detailApp:{appJsId:"SYNO.SDS.StorageManager.Instance",params:{fn:"SYNO.SDS.StorageManager.Pool.Main",openSpaceReclaimWin:!0}}}},methods:{async onStop(t){let e=new Date;const a=await synowebapi.promises.request({api:"SYNO.Core.Region.NTP",version:2,method:"get"});e.setTime(1e3*a.timestamp+3600*t.value*1e3);let s='<span class="sm-font-bold">'+SYNO.SDS.DateTimeFormatter(e,{type:"datetime"})+"</span>";SYNO.SDS.Desktop.getMsgBox().confirm("",String.format(this.T("volume","space_reclaim_tray_confirm_delay_dlg_desc"),s),(function(e){"ok"===e&&this.sendStop(t.value)}),this,{cancel:{text:_T("common","cancel")},ok:{text:_T("common","stop"),btnStyle:"blue"}})},sendStop(t){const e=[];e.push({api:"SYNO.Storage.CGI.Storage",version:1,method:"delay_space_reclaim",params:{delay_time:3600*t}}),this.sendDelete(e)},openHelper(){SYNO.SDS.AppLaunch("SYNO.SDS.HelpBrowser.Application",{topic:"SYNO.SDS.StorageManager.Instance:StorageManager/storage_pool_space_reclamation.html"})},getRemainingSubvol(){return this.remaining},_auth:()=>SYNO.SDS.StatusNotifier.isAppHasPrivilege("SYNO.SDS.StorageManager.Instance"),async loadSpaceReclaimState(){const t=await synowebapi.promises.request({api:"SYNO.Storage.CGI.Storage",version:1,method:"get_space_reclaim_status"});if(this.remaining=t.num_subvolume_remain,"running"!=t.state){const t=[];this.sendDelete(t)}},sendDelete(t){t.push({api:"SYNO.Storage.CGI.Storage",version:1,method:"delete_space_reclaim_background_task"}),synowebapi.promises.request({api:"SYNO.Entry.Request",version:1,method:"request",compound:{stopwhenerror:!0,mode:"parallel",params:t}})},async onPostTask(t){await this.loadSpaceReclaimState()},onDeleteTask(t){}},mixins:[i]},l,[],!1,null,null,null);p.options.__file="js/vue/background-task/function/SpaceReclaimCard.vue";var c=p.exports,u=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("bkg-task-instance",{staticClass:"sm-cache-advisor-card-main",attrs:{"status-api":{api:"SYNO.Core.Test.Cache.BackgroundTask",method:"status",version:1},"stop-api":t.stopApi,task:t.task}},[a("bkg-basic-task-card",{attrs:{"detail-app":t.detailApp,task:t.task,status:"search","status-title":t.T("volume","advisor_state_analyze"),"has-status-actions":!1},scopedSlots:t._u([{key:"info",fn:function(){return[t.meetCriteria?a("bkg-primary-info",[a("span",{domProps:{innerHTML:t._s(t.summaryRecommendedSizeHtml)}}),t.fsSupportPinMetadata?a("pin-meta-whitetip",{attrs:{"size-without-pin":t.sizeByteWithoutPin,"size-with-pin":t.sizeByteWithPin,size:"small"}}):t._e()],1):t._e(),t._v(" "),a("bkg-desc",[a("div",[t._v(t._s(t.volumeText))]),t._v(" "),t.meetCriteria?t._e():a("div",[t._v(t._s(t.hotDataText))]),t._v(" "),a("div",[t._v(t._s(t.ioSpeedText))]),t._v(" "),a("div",[t._v(t._s(t.timeSpentText))])])]},proxy:!0}])})],1)};u._withStripped=!0;var _=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("v-whitetip",{ref:"tip",staticClass:"cache-advisor-pin-meta-whitetip",attrs:{"syno-id":t.synoId+"-pin-meta-whitetip",size:t.size,forceSimple:""}},[a("div",{staticClass:"sm-whitetip-content"},[a("span",[t._v(t._s(t.T("volume","advisor_pin_metadata_desc")))]),t._v(" "),t.recSizeEqual?t._e():a("span",{domProps:{innerHTML:t._s(t.noPinMetadataHtml)}}),t._v(" "),a("a",{staticClass:"link-font",attrs:{href:"#"},on:{click:t.openHelper}},[t._v(t._s(t.T("volume","advisor_learn_more")))])])])};_._withStripped=!0;var m=o({name:"PinMetaWhitetip",mixins:[i,{methods:{openHelper(){SYNO.SDS.AppLaunch("SYNO.SDS.HelpBrowser.Application",{topic:"SYNO.SDS.StorageManager.Instance:StorageManager/ssd_cache_advisor.html"})},dateFormat:t=>isNaN(t)?"-":SYNO.SDS.DateTimeFormatter(new Date(1e3*t),{type:"date"}),timeDeltaFormat:t=>SYNO.SDS.StorageUtils.TimeRender(t,{showSecBelowMin:!0}),sizeFormat:t=>isNaN(t)?"-":SYNO.SDS.StorageUtils.SizeRender(t),getSuggestionInfo(t){let e="-",a="-",s=!1;return"insufficient_time"===t?(e=this.T("volume","advisor_analyzing_desc_time_insufficient"),a="-",s=!1):"not_meet_criteria"===t?(e=this.T("volume","advisor_analyzing_desc_without_rec_size"),a=this.T("volume","advisor_history_detail_no_converged"),s=!1):"has_met_criteria_before"===t?(e=this.T("volume","advisor_analyzing_desc_recalculating"),a="-",s=!1):"meet_criteria"===t?(e=this.T("volume","advisor_analyzing_desc_with_rec_size"),a=this.T("volume","advisor_history_sugestion_context_general"),s=!0):"meet_criteria_ssd_volume"===t?(e=this.T("volume","advisor_analyzing_desc_with_rec_size"),a=this.T("volume","advisor_history_sugestion_context_ssd_volume"),s=!0):"recreate"===t?(e=this.T("volume","advisor_analyzing_desc_with_rec_size"),a=this.T("volume","advisor_history_sugestion_context_suggest_recreate"),s=!1):"no_recreate"===t&&(e=this.T("volume","advisor_analyzing_desc_with_rec_size"),a=this.T("volume","advisor_history_sugestion_context_suggest_no_recreate"),s=!1),{pollSuggestionStr:e,historySuggestionStr:a,showCompatibilityList:s}},getVolumeName(t){let e;return e=SYNO.SDS.StorageUtils.SpaceIDParser(t),e?e.str:"-"}},computed:{...(0,Vuex.mapState)("PoolModule",["volumes"])}}],props:{sizeWithoutPin:{type:Number,required:!0},sizeWithPin:{type:Number,required:!0},size:{type:String,default:"normal"}},computed:{recSizeEqual(){return this.sizeWithoutPin===this.sizeWithPin},noPinMetadataHtml(){let t=this.sizeFormat(this.sizeWithoutPin);return this.format(this.T("volume","advisor_no_pin_metadata_desc"),t)}}},_,[],!1,null,null,null);m.options.__file="js/vue/cache-advisor/PinMetaWhitetip.vue";var d=m.exports,S=o({props:{task:{type:Object,default:()=>({})}},data:()=>({detailApp:{appJsId:"SYNO.SDS.StorageManager.Instance",params:{fn:"SYNO.SDS.StorageManager.Pool.Main",dlg:"SYNO.SDS.StorageManager.Vue.CacheAdvisorWindow",windowParam:{openVueWin:!0}}},helper:SYNO.SDS.Utils.StorageUtils.UiRenderHelper,utils:SYNO.SDS.StorageUtils,hasData:!1,fsType:"btrfs",sizeByteWithPin:0,sizeByteWithoutPin:0,hotDataSizeByte:0,ioSpeedByte:0,timeSpent:0,meetCriteria:!1,supportPinMeta:!1,hasAuth:SYNO.SDS.StatusNotifier.isAppHasPrivilege("SYNO.SDS.StorageManager.Instance")}),created(){this.hasAuth&&this.pollAndShow()},computed:{stopApi(){return{api:"SYNO.Core.Test.Cache.BackgroundTask",method:"stop",version:1,params:{task_id:Object.keys(this.task.tasksData)[0]}}},volumeText(){let t=this.hasData?this.utils.SpaceIDParser(this.volumeId).str:"-";return this.T("volume","advisor_info_target")+this.T("common","colon")+t},fsSupportPinMetadata(){return this.supportPinMeta},summaryRecommendedSize(){return this.fsSupportPinMetadata?this.sizeByteWithPin:this.sizeByteWithoutPin},summaryRecommendedSizeHtml(){let t=this.hasData?this.helper.SizeRender(this.summaryRecommendedSize):"-";return`${this.T("volume","advisor_history_analysis_result")}${this.T("common","colon")}<span class="sm-font-bold">${t}</span>`},hotDataText(){let t=this.hasData?this.helper.SizeRender(this.hotDataSizeByte):"-";return`${this.T("volume","advisor_info_hot_data")}${this.T("common","colon")}${t}`},ioSpeedText(){let t=this.helper.SizeRender(this.hasData?this.ioSpeedByte:0);return this.format(this.T("volume","advisor_info_analyzed_io"),t)},timeSpentText(){let t=this.hasData?this.utils.TimeRender(this.timeSpent,{showSecBelowMin:!0}):"-";return`${this.T("volume","advisor_info_time_spent")}${this.T("common","colon")}${t}`}},methods:{_auth(t){return this.hasAuth},async onPostTask(t){this.pollAndShow()},async pollAndShow(){const t=await synowebapi.promises.request({api:"SYNO.Storage.CGI.Flashcache",method:"advisor_poll",version:1});this.hasData=t.is_analyzing,this.hasData&&(this.volumeId=t.volume,this.sizeByteWithoutPin=t.recommended_size,this.sizeByteWithPin=t.recommended_size_pin_meta,this.hotDataSizeByte=t.hot_data_size,this.timeSpent=t.execution_time,this.ioSpeedByte=t.io_speed_byte,this.meetCriteria=t.meet_criteria,this.supportPinMeta=t.support_pin_meta,this.fsType=t.fs_type)}},mixins:[i],components:{PinMetaWhitetip:d}},u,[],!1,null,null,null);S.options.__file="js/vue/background-task/function/CacheAdvisorCard.vue";var h=S.exports;
// @require: SYNO.SDS.StorageUtils
Ext.ns("SYNO.SDS.StorageManager.TaskCard"),SYNO.SDS.StorageManager.TaskCard.DataScrubbing=a().extend(r),SYNO.SDS.StorageManager.TaskCard.SpaceReclaim=a().extend(c),SYNO.SDS.StorageManager.TaskCard.CacheAdvisor=a().extend(h)}();