UNPKG

node-red-trexmes-service

Version:
1,016 lines (938 loc) 43.1 kB
<script type="text/html" data-template-name="Business Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-ishandled" style="width: 70%"><span data-i18n="event-subscribers.label.ishandled"></span></label> <input type="checkbox" id="node-input-ishandled" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"></select> <script type="text/javascript"> (function() { var options = [ "OnAuthorizationRequiredStoppageEnding", "OnCoefficientChangeSaved", "OnConsumedDcasLotsDeleting", "OnCounterIncrementViabilityChecked", "OnCreatedProductionPlanLoading", "OnCurrentPlanInfoSet", "OnCurrentSpeedCalculated", "OnCurrentSpeedCalculating", "OnCyclePeriodSet", "OnCyclePeriodSetting", "OnDcasLotsDeletingOnProductionCompletion", "OnDefectAmountQuerying", "OnDefectEntryCreated", "OnDefectEntryDeleted", "OnDefectQuantityConverting", "OnDocumentNotFound", "OnEditedProductionReceiptSaving", "OnEditProductionReceiptSaved", "OnEstimatedCompletionTimeCalculating", "OnForkliftFetchOrderCreating", "OnForkliftGetOrderCreating", "OnForkliftOrderCreated", "OnForkliftOrdersQuerying", "OnForkliftOrderUpdated", "OnFractionalAmountProductionSaved", "OnJoblessProductionOccured", "OnJoborderSelecting", "OnLabelReprinting", "OnLanguageChanged", "OnLanguageSelectionChanged", "OnLotDeleted", "OnMaintenanceOrderCompleted", "OnMaintenanceOrderCreated", "OnMaintenancePlanSetting", "OnMaintenanceServiceReceiptCreated", "OnMaintenanceServiceRequestCreated", "OnMaterialCounterIncreased", "OnMaterialLotSelectionProcessed", "OnNoShiftTimeProductionOccuring", "OnOpcProductionCounterIncreasing", "OnOperatorAddedNextPlan", "OnOperatorApprovedProductionSaveAmount", "OnOperatorApprovingProductionSaveAmount", "OnOperatorCounterIncreasing", "OnOperatorCreatingMaintenanceOrder", "OnOperatorDeletedNextPlan", "OnOperatorMaintenaceInterventionEnded", "OnOperatorProductionSaving", "OnPeriodicalMaintenanceApproved", "OnPeriodicalMaintenanceConditionChecking", "OnPidReceiptCreated", "OnPidReceiptCreating", "OnPidreceiptMaterialReceiptsCreated", "OnPidSectionReceiptCreated", "OnPlanChanged", "OnPlanLoaded", "OnPlanLoadViaOpcStockNoFailed", "OnPlanLotsFromDcasLotsGenerating", "OnPlanMaterialsQuerying", "OnPlanSelecting", "OnPlanSelectionApproved", "OnPlanSelectViabilityChecking", "OnPlanStartViabilityChecking", "OnPokaYokeBarcodeValidating", "OnProcessDataAnalysisAlertOccured", "OnProcessDataAnalysisProcessing", "OnProcycleEntryCreated", "OnProcycleEntryCreating", "OnProcycleEntryUndefinedStockDetected", "OnProcycleEntryUpdating", "OnProcycleStoppageEntryUpdating", "OnProductionCompleted", "OnProductionCompleting", "OnProductionContinuing", "OnProductionCounterIncreased", "OnProductionCounterIncrementCompleted", "OnProductionFinishStatusChecking", "OnProductionInfoResetted", "OnProductionInfoSet", "OnProductionPlanChanging", "OnProductionPlanCreated", "OnProductionPlanJobordersAppending", "OnProductionQuantityConverting", "OnProductionReceiptCreated", "OnProductionReceiptEditQuantityConverting", "OnProductionReceiptEditReceiptLoading", "OnProductionReceiptEditSaving", "OnProductionReceiptIntegrating", "OnProductionReceiptIntegrationSaving", "OnProductionReceiptUserDefinedFieldsGetting", "OnProductionSaveAllowanceChecked", "OnProductionSaveCompleted", "OnProductionSaveCompleting", "OnProductionSaved", "OnProductionSaveStarted", "OnProductionSaveViabilityChecking", "OnProductionSaving", "OnProductionSummaryUpdated", "OnProPlanCycleFromStockCycleSetting", "OnQualityReceiptCreated", "OnRotationSpeedCalculating", "OnSelectedJoborderProductionParametersSetting", "OnSerieDefectCreated", "OnShiftChanged", "OnShiftChanging", "OnShiftDefectsQuerying", "OnShiftProductivityCalculated", "OnSignalProductionEnding", "OnSignalProductionSaved", "OnSignalProductionSaving", "OnSpecPortSelected", "OnStockCoefficientChangeSaving", "OnStockEquipmentMatchViabilityChecking", "OnStockProductionCounterIncreased", "OnStoppageChanging", "OnStoppageEnded", "OnStoppageReasonEquipmentSelected", "OnStoppageSelected", "OnStoppageSelecting", "OnStoppageStarted", "OnSubProductReceiptsCreating", "OnTeamChanged", "OnTestModeChanged", "OnUnapprovedProductionReceiptIntegrating", "OnUnapprovedProductionReceiptLabelPrinting", "OnUnapprovedProductionReceiptUsedMaterialSelecting", "OnUndefinedStoppageChanged", "OnUndefinedStoppageChanging", "OnUndefinedStoppagesListing", "OnUndefinedStoppagesQuerying", "OnUserDefinedReceiptDataCreated", "OnWorkStationInfoLoaded", "OnWorkstationStatesSet", "OnWorkstationStatusEntryCreating", "OnWorkstationStatusItemEntryCreating" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="Application Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-ishandled" style="width: 70%"><span data-i18n="event-subscribers.label.ishandled"></span></label> <input type="checkbox" id="node-input-ishandled" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"> </select> <script type="text/javascript"> (function() { var options = [ "OnAssemblyPictureSignalChanged", "OnBarcodeScanned", "OnBarcodeScanning", "OnCurrentPlanInfoSet", "OnDcasMessageProcessing", "OnDigitalInputValueChanged", "OnDigitalInputValueChanging", "OnDigitalOutputValueChanged", "OnDigitalOutputValueChanging", "OnJoborderStockBarcodeScanned", "OnJoborderStockBarcodeScanning", "OnLotBarcodeScanning", "OnNextProductionPlanLoading", "OnNgpCommandProcessing", "OnOpcDataPortInitialized", "OnOverCapacityCounterIncrementDetected", "OnOverCapacityPlanLoading", "OnPeriodicalMaintenanceApproved", "OnPlanChanged", "OnPlanDetailsSetting", "OnPlanEquipmentBarcodeRequesting", "OnPlannedStoppageEstimatedDurationReached", "OnPokaYokeCheckRequesting", "OnPokaYokeResultProcessRequesting", "OnPortDataChanged", "OnPortDataChanging", "OnPortManagerConnected", "OnPortManagerInitialized", "OnPortManagerInitializing", "OnPortParametersLoaded", "OnProcycleStoppageEstimatedDurationRequesting", "OnProductionCompleted", "OnProductionContinuing", "OnProductionCounterIncreased", "OnProductionCounterIncreasingWithoutAnyLoadedPlan", "OnProductionPlanLoadingCompleted", "OnProductionPlanLoadingStarted", "OnProductionReceiptBriefRequesting", "OnProductionReceiptCreated", "OnProductionSaved", "OnProductionSaveFailed", "OnProductionSaveSignalChanged", "OnProductionSaveSignalInputValuesSetting", "OnProductionSaving", "OnRobotModelCounterIncrementRequesting", "OnRobotModelNotFound", "OnRobotModelStockNotMatched", "OnSerialPortBarcodeScanning", "OnSerieBarcodeScanning", "OnSocketMessageInterpreted", "OnStoppageCauseRequesting", "OnStoppageSignalActivityCheckRequesting", "OnStoppageSignalChanged", "OnTeamChanging", "OnTeamPlanPolyvalenceValidationFailed", "OnUIButtonConfigurationSet", "OnWorkstationStatesSet" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="System Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-ishandled" style="width: 70%"><span data-i18n="event-subscribers.label.ishandled"></span></label> <input type="checkbox" id="node-input-ishandled" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"> </select> <script type="text/javascript"> (function() { var options = [ "OnApplicationClosing", "OnApplicationStarted", "OnGlobalTimerTicked" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="Communication Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-ishandled" style="width: 70%"><span data-i18n="event-subscribers.label.ishandled"></span></label> <input type="checkbox" id="node-input-ishandled" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"> </select> <script type="text/javascript"> (function() { var options = [ "OnAssemblyPictureSignalChanged", "OnBarcodeScanned", "OnBarcodeScanning", "OnDcasMessageProcessing", "OnDefectEntrySignalChanged", "OnDigitalInputValueChanged", "OnDigitalInputValueChanging", "OnDigitalOutputValueChanged", "OnDigitalOutputValueChanging", "OnIOCardDataCoalesced", "OnJoborderStockBarcodeScanned", "OnJoborderStockBarcodeScanning", "OnLotBarcodeScanning", "OnNgpCommandProcessing", "OnPortDataChanged", "OnPortDataChanging", "OnPortManagerConnected", "OnPortManagerInitialized", "OnPortManagerInitializing", "OnPortParametersLoaded", "OnProductionSaveSignalChanged", "OnProductionSaveSignalInputValuesSetting", "OnSerialPortBarcodeScanning", "OnSerieBarcodeScanning", "OnSocketMessageInterpreted", "OnStoppageSignalChanged" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="Display Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-ishandled" style="width: 70%"><span data-i18n="event-subscribers.label.ishandled"></span></label> <input type="checkbox" id="node-input-ishandled" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"></select> <script type="text/javascript"> (function() { var options = [ "OnBarcodeTextBoxSetting", "OnCommandKeyProcessing", "OnDefectEntryOperatorConfirmationFailed", "OnDefectSelected", "OnEventDetailSelectionsListing", "OnForkliftTakeTransferSelecting", "OnJobInformationEquipmentCounterTextSetting", "OnJobLoadColumnCellFormatSetting", "OnJobOrderSearching", "OnMainFormCounterTextsSetting", "OnMainFormNoteTextSetting", "OnMainUserControlJobOrderPanelClicked", "OnOperationSpecFormOpening", "OnOperatorCreatingDefectEntry", "OnOperatorPlanLoadButtonClicking", "OnOperatorPlanLoaded", "OnOtherOperationsFormClosed", "OnPitchLabelSetting", "OnPlanContinueQuestionAsking", "OnPlanSearching", "OnPlanSelectionDetailClicked", "OnProductionAmountLeftTextSetting", "OnProductionApproveFormOpening", "OnProductionApproveGridSet", "OnProductionApproveGridSetting", "OnProductionApproveOperatorDataGridSetting", "OnScreenSaverShowning", "OnShiftEventFormOpening", "OnStoppageDescriptionFormOpening", "OnUIButtonConfigurationSet", "OnWorkstationSelected" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="Form Events"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row" style="display: flex;align-items: center; gap: 10px;"> <label for="node-input-formainform" style="width: 70%"><span data-i18n="event-subscribers.label.formainform"></span></label> <input type="checkbox" id="node-input-formainform" style="width: 30%"> </div> <div class="form-row"> <label for="node-input-formname"><i class="fa fa-windows"></i> <span data-i18n="event-subscribers.label.formname"></span></label> <select id="node-input-formname"></select> </div> <div class="form-row"> <label for="node-input-control"><i class="fa fa-address-card"></i> <span data-i18n="event-subscribers.label.control"></span></label> <input type="text" id="node-input-control" style="width:70%;"></select> </div> <div class="form-row"> <label for="node-input-eventtime"><i class="fa fa-fire"></i><span data-i18n="event-subscribers.label.eventtime"></span></label> <select id="node-input-eventtime" style="width: 70%;"> <option value="After">After</option> <option value="Before">Before</option> </select> </div> <div class="form-row"> <label for="node-input-eventname"><i class="fa fa-fire"></i> <span data-i18n="event-subscribers.label.eventname"></span></label> <select id="node-input-eventname" style="width:70%;"> <script type="text/javascript"> (function() { var options = [ "Click", "Changed", "Load", "Tick", "KeyEnter"]; var select = document.getElementById("node-input-eventname"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </div> </script> <script type="text/html" data-template-name="Display Methods"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <label for="node-input-event"><i class="fa fa-globe"></i> <span data-i18n="event-subscribers.label.event"></span></label> <select type="text" id="node-input-event" style="width:70%;"> </select> <script type="text/javascript"> (function() { var options = [ "GetMainUserControl", "GetUIButtonConfiguration" ]; var select = document.getElementById("node-input-event"); options.forEach(function(option) { var opt = document.createElement("option"); opt.value = option; opt.innerHTML = option; select.appendChild(opt); }); })(); </script> </div> </script> <script type="text/html" data-template-name="Method Returns"> <div class="form-row"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> <div class="form-row"> <label for="node-input-methodname"><i class="fa fa-windows"></i> <span data-i18n="event-subscribers.label.methodname"></span></label> <select id="node-input-methodname"></select> </div> </div> </script> <script type="text/html" data-template-name="Responser"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name"> </div> </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Business Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, ishandled: {value:false, required:true} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "Business Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Application Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, ishandled: {value:false, required:true} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "Application Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('System Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, ishandled: {value:false, required:true} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "System Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Communication Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, ishandled: {value:false, required:true} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "Communication Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Display Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, ishandled: {value:false, required:true} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "Display Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Form Events',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:""}, formname: {value:"", required:true, label:RED._("node-red:event-subscribers.label.formname")}, control: {value:"", required:true, label:RED._("node-red:event-subscribers.label.control")}, eventname: {value:"Click", required:true, label:RED._("node-red:event-subscribers.label.eventname")}, formainform: {value: false }, eventtime: {value: "After"} }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if(this.formainform === true && this.eventname && this.control) { return "AppForm " + this.control + " " + this.eventname; } else if (this.formname && this.eventname && this.control) { return this.formname + " " + this.control + " " + this.eventname; } else { return "Form Events"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } var $combo = $("#node-input-formname"); var currentSelection = this.formname; $combo.empty(); RED.nodes.eachNode(function (node) { if (node.type === "Custom Form") { var option = $("<option></option>") .attr("value", node.name) .text(node.name); if (currentSelection === node.name) { option.attr("selected", "selected"); } $combo.append(option); } }); function toggleInputVisibility() { if ($("#node-input-formainform").prop("checked")) { $("#node-input-formname").parent().hide(); $("#node-input-eventtime").parent().show(); } else { $("#node-input-formname").parent().show(); $("#node-input-eventtime").parent().hide(); } } // Sayfa yüklendiğinde çalıştır toggleInputVisibility(); // Checkbox değiştiğinde input alanını göster/gizle $("#node-input-formainform").on("change", function () { toggleInputVisibility(); }); } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Display Methods',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, method: {value:"post",required:true}, event: {value:"", required:true, label:RED._("node-red:event-subscribers.label.event")}, }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.event) { return this.event; } else { return "Display Methods"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var root = RED.settings.httpNodeRoot; if (root.slice(-1) == "/") { root = root.slice(0,-1); } var $combo = $("#node-input-formname"); var currentSelection = this.formname; $combo.empty(); RED.nodes.eachNode(function (node) { if (node.type === "Custom Form") { var option = $("<option></option>") .attr("value", node.name) .text(node.name); if (currentSelection === node.name) { option.attr("selected", "selected"); } $combo.append(option); } }); } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Method Returns',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, methodname: {value:"", required:true } }, inputs:0, outputs:1, icon: "trex.png", label: function() { if (this.name) { return this.name; } else if (this.methodname) { return this.methodname +"_Return" } else { return "Method Returns"; } }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { var $combo = $("#node-input-methodname"); var currentSelection = this.methodname; $combo.empty(); RED.nodes.eachNode(function (node) { if (node.type === "Method Invoker") { var option = $("<option></option>") .attr("value", node.name) .text(node.name); if (currentSelection === node.name) { option.attr("selected", "selected"); } $combo.append(option); } }); } }); })(); </script> <script type="text/javascript"> (function() { RED.nodes.registerType('Responser',{ category: 'trexMes service', color:"rgb(204, 255, 204)", defaults: { name: {value:""}, statusCode: { value:"", label: RED._("node-red:event-subscribers.label.status"), validate: RED.validators.number(true)}, headers: {value:{}} }, inputs:1, outputs:0, align: "right", icon: "trex.png", label: function() { return this.name; }, labelStyle: function() { return this.name?"node_label_italic":""; } }); })(); </script> <script type="text/javascript"> let methodInvoke_RenderNodeInfo = function (id, data) { let $chart = document.getElementById("methodInvoke-chart-" + id); if ($chart) { let $text = document.getElementById(`methodInvoke-text-${id}`); $text.textContent = '' var lines = data.split('\n'), tn, ts lines.forEach(function (value, index) { let countSpace = value.length - value.trim().length tn = document.createTextNode(value); ts = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); ts.setAttribute('dy', (index) ? "1.2em" : 0); ts.setAttribute('x', countSpace * 10); ts.setAttribute('text-anchor', 'start'); ts.setAttribute('fill', '#555'); //if (allstatus) // ts.setAttribute('stroke', 'green'); //else // ts.setAttribute('stroke', 'red'); ts.setAttribute('font-size', `12`) ts.appendChild(tn); $text.append(ts); }); } else { const $container = document.getElementById(id) if (!$container) { return } const text = document.createElementNS("http://www.w3.org/2000/svg", 'text') text.setAttribute('id', `methodInvoke-text-${id}`) text.setAttribute('x', `0`) text.setAttribute('y', `50`) text.setAttribute('text-anchor', `start`) $container.insertBefore(text, $container.lastChild.nextSibling); // Create group const group = document.createElementNS("http://www.w3.org/2000/svg", 'g'); group.setAttribute('id', `methodInvoke-chart-${id}`); group.setAttribute('innerHTML', `methodInvoke-chart-${id}`); $container.insertBefore(group, $container.lastChild.nextSibling); $chart = $container let $text = document.getElementById(`methodInvoke-text-${id}`); $text.textContent = '' var lines = data.split('\n'), tn, ts lines.forEach(function (value, index) { let countSpace = value.length - value.trim().length tn = document.createTextNode(value); ts = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); ts.setAttribute('dy', (index) ? "1.2em" : 0); ts.setAttribute('x', countSpace * 10); ts.setAttribute('text-anchor', 'start'); ts.setAttribute('fill', '#555'); //if (allstatus) // ts.setAttribute('stroke', 'green'); //else // ts.setAttribute('stroke', 'red'); ts.setAttribute('font-size', `12`) ts.appendChild(tn); $text.append(ts); }); } } RED.comms.subscribe('methodInvoke-message', function (event, data) { if (data.hasOwnProperty("message")) { //console.log("render :"+data.data); methodInvoke_RenderNodeInfo(data.id, data.message); } }) </script>