芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/cloud.pulsehost.co.uk/modules/CoreWebclient/js/koExtendings.js
'use strict'; var ko = require('knockout'), Types = require('%PathToCoreWebclientModule%/js/utils/Types.js') ; /** * @param {Object} oTarget * @returns {Object} */ ko.extenders.reversible = function (oTarget) { var mValue = oTarget(); oTarget.commit = function () { mValue = oTarget(); }; oTarget.revert = function () { oTarget(mValue); }; oTarget.commitedValue = function () { return mValue; }; oTarget.changed = function () { return mValue !== oTarget(); }; return oTarget; }; /** * @param {Object} oTarget * @param {Object} iOption * @returns {Object} */ ko.extenders.autoResetToFalse = function (oTarget, iOption) { oTarget.iTimeout = 0; oTarget.subscribe(function (bValue) { if (bValue) { window.clearTimeout(oTarget.iTimeout); oTarget.iTimeout = window.setTimeout(function () { oTarget.iTimeout = 0; oTarget(false); }, Types.pInt(iOption)); } }); return oTarget; }; //calendar ko.extenders.disableLinebreaks = function (oTarget, bDisable) { if (bDisable) { var oResult = ko.computed({ 'read': function () { return oTarget(); }, 'write': function(sNewValue) { oTarget(sNewValue.replace(/[\r\n\t]+/gm, ' ')); } }); oResult(oTarget()); return oResult; } return oTarget; };