//@include lib_Class.js //@include lib_sol.common.JsonUtils.js //@include lib_sol.common.RepoUtils.js //@include lib_sol.common.SordUtils.js //@include lib_sol.common.CounterUtils.js //@include lib_sol.common.Template.js //@include lib_sol.common.WfUtils.js //@include lib_sol.common.ix.RfUtils.js //@include lib_sol.common.ix.FunctionBase.js //@include lib_sol.common.ix.functions.GenerateIdentifier.js //@include lib_sol.contract.mixins.Configuration.js //@include lib_sol.common.Injection.js var logger = sol.create("sol.Logger", { scope: "sol.contract.ix.functions.generators.GenerateClauseId" }); /** * @author ELO Digital Office GmbH * @version 1.0 * * Generates an ID for a document * * @requires sol.common.JsonUtils * @requires sol.common.RepoUtils * @requires sol.common.SordUtils * @requires sol.common.CounterUtils * @requires sol.common.Template * @requires sol.common.WfUtils * @requires sol.common.ix.RfUtils * @requires sol.common.ix.FunctionBase * @requires sol.common.ix.functions.GenerateIdentifier * @requires sol.contract.mixins.Configuration * @requires sol.common.Injection */ sol.define("sol.contract.ix.functions.generators.GenerateClauseId", { extend: "sol.common.ix.functions.GenerateIdentifier", /** @cfg {String} objId (required) * Object ID */ mixins: ["sol.contract.mixins.Configuration", "sol.common.mixins.Inject"], inject: { templateField: { config: "contract", prop: "clauses.functions.generateClauseId.generatorTemplateField" }, templateFolder: { config: "contract", prop: "clauses.functions.generateClauseId.templatesFolder" }, targetField: { config: "contract", prop: "clauses.functions.generateClauseId.targetField" } }, /** * @inheritdoc sol.common.ix.functions.GenerateIdentifier#getIdentifierTemplateId */ getIdentifierTemplateId: function () { var me = this; return me.getTemplateId("Clause ID", me.templateField, me.templateFolder); }, /** * @inheritdoc sol.common.ix.functions.GenerateIdentifier#getIdentifier */ getIdentifier: function () { var me = this; if (!me.targetField) { throw "getIdentifier(): Clause ID field name must not be empty."; } return sol.common.SordUtils.getObjKeyValue(me.sord, me.targetField); }, /** * @inheritdoc sol.common.ix.functions.GenerateIdentifier#setIdentifier */ setIdentifier: function (No) { var me = this; if (!me.targetField) { throw "setIdentifier(): Clause ID. field name must not be empty."; } sol.common.SordUtils.setObjKeyValue(me.sord, me.targetField, No.trim()); } }); /** * @member sol.common.ix.functions.generators.GenerateFileReference * @static * @inheritdoc sol.common.ix.FunctionBase#onEnterNode */ function onEnterNode(clInfo, userId, wFDiagram, nodeId) { logger.enter("onEnterNode_GenerateClauseId", { flowId: wFDiagram.id, nodeId: nodeId }); var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId), genProc; params.objId = wFDiagram.objId; params.flowId = wFDiagram.id; genProc = sol.create("sol.contract.ix.functions.generators.ClauseId", params); genProc.process(); logger.exit("onEnterNode_GenerateClauseId"); } /** * @member sol.common.ix.functions.generators.GenerateFileReference * @static * @inheritdoc sol.common.ix.FunctionBase#onExitNode */ function onExitNode(clInfo, userId, wFDiagram, nodeId) { logger.enter("onExitNode_GenerateClauseId", { flowId: wFDiagram.id, nodeId: nodeId }); var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId), genProc; params.objId = wFDiagram.objId; params.flowId = wFDiagram.id; genProc = sol.create("sol.contract.ix.functions.generators.GenerateClauseId", params); genProc.process(); logger.exit("onExitNode_GenerateClauseId"); }