You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.5 KiB
100 lines
3.5 KiB
/** |
|
* @author 秃破天际 |
|
* @version 10.0 |
|
* Created by 秃破天际 on 2021-04-20 |
|
**/ |
|
!(function () { |
|
//hugh这里很容易发生冲突,如果同时装了两个不是同一个开发者开发的不同插件甚至是商城插件~ |
|
//两个插件的type值如果一样,就完蛋 |
|
var TERMINAL_TYPE = 4; |
|
var ADDRESSEE_CHAT_GROUP = 1; |
|
|
|
BI.config("dec.provider.client.notification", function (provider) { |
|
provider.registerHandler({ |
|
getTerminalType: function () { |
|
return TERMINAL_TYPE; |
|
}, |
|
|
|
getTerminalText: function () { |
|
return "Print Log"; |
|
}, |
|
|
|
getTerminalComponent: function () { |
|
var self = this; |
|
return { |
|
type: "log.schedule.terminal", |
|
ref: function (_ref) { |
|
self.terminalComponent = _ref; |
|
}, |
|
checkValid: function () { |
|
return self.terminalComponent.checkValid() |
|
} |
|
} |
|
}, |
|
getExtraAddressees: function () { |
|
//因为demo示例仅仅只是在后台打印配置信息,所以不需要根据用户处理不同的计算 |
|
return {}; |
|
}, |
|
|
|
getValue: function () { |
|
debugger; |
|
var self = this; |
|
return { |
|
log: BI.extend(self.value, { |
|
"@class": "com.tptj.demo.hg.output.formula.provider.OutputLog", |
|
actionName: "com.tptj.demo.hg.output.formula.provider.OutputLog", |
|
terminal: TERMINAL_TYPE, |
|
pre: self.terminalComponent.getValue() |
|
}) |
|
} |
|
}, |
|
|
|
setValue: function (v) { |
|
if (v.terminal && v.terminal === TERMINAL_TYPE) { |
|
this.value = v; |
|
//hugh:自定义的值设置的入口 |
|
this.terminalComponent.setValue(v.pre); |
|
} |
|
}, |
|
|
|
checkValid: function (validJo) { |
|
var valid = true; |
|
// 判断拓展组件是否为空的前提是该组件对应的复选框已经选中 |
|
var selectedTerminal = validJo.selectedTerminal; |
|
if (this._isTerminalSelected(selectedTerminal)) { |
|
valid = this.terminalComponent.checkValid(); |
|
} |
|
return valid; |
|
}, |
|
|
|
_isTerminalSelected: function (terminals) { |
|
debugger; |
|
var totalTerminal = 0; |
|
BI.each(terminals, function (i, terminal) { |
|
totalTerminal += terminal; |
|
}); |
|
return (TERMINAL_TYPE & totalTerminal) === TERMINAL_TYPE; |
|
}, |
|
|
|
_isChatGroupSelected: function (addressees) { |
|
debugger; |
|
return true; |
|
}, |
|
|
|
_transformOutputChatToComboValue: function (outputChat) { |
|
debugger; |
|
if (!BI.isEmpty(outputChat)) { |
|
return { |
|
type: outputChat.type, |
|
value: outputChat.chatGroups |
|
} |
|
} else { |
|
return { |
|
type: BI.Selection.None, |
|
value: [] |
|
} |
|
} |
|
} |
|
}); |
|
}); |
|
})(); |