Adicionamos jQuery e $CS ao escopo global, permitindo que o usuário escreva código usando jQuery (v 1.8.3) e a biblioteca $CS.
Requisito | Função | Exemplos | Observações |
Obter valores de campos | $CS.getValue(field) |
| Para manter os recursos já marcados, armazene-os em um array e adicione os recursos a ele. Em seguida, defina o campo de recurso usando esse valor atualizado. |
Obter valores de campos do solicitante | $CS.getValue(field.attribute) |
|
|
Definir um valor de campo | $CS.setValue(field,value) |
|
|
Obter texto | $CS.getText(field) | var status=$CS.getText("STATUS"); var impactdetail=$CS.getText("IMPACTDETAILS"); |
|
Definir texto | $CS.setText(field,text) | $CS.setText("STATUS","Aberto"); |
|
Adicionar opções | $CS.addOptions(field,options) | $CS.addOptions("STATUS",["Aberto","Fechado"]); | Certifique-se de que sejam campos do tipo Pick e um array. |
Remover opções | $CS.removeOptions(field,options) | $CS.removeOptions("STATUS",["Aberto","Fechado"]); | Mesmo que acima. |
Remover todas as opções | CS.removeAllOptions(fields) | $CS.removeAllOptions(["STATUS"]); // Se todas as opções do campo de status forem removidas, a criação de nova solicitação não funcionará. Como toda solicitação deve ter um status. $CS.removeAllOptions(["STATUS","PRIORITY"]); | Mesmo que acima. |
Habilitar Campos | $CS.enableField(fields) | $CS.enableField(["LEVEL","PRIORITY","URGENCY"]); |
|
Desabilitar Campos | $CS.disableField(fields) | $CS.disableField(["LEVEL","PRIORITY","URGENCY"]); |
|
Ocultar Campos | $CS.hideField(fields) | $CS.hideField(["LEVEL","PRIORITY","URGENCY"]); |
|
Mostrar Campos | $CS.showField(fields) | $CS.showField(["LEVEL","PRIORITY","URGENCY"]) |
|
Tornar Campos Obrigatórios | $CS.mandateField(fields) | $CS.mandateField(["LEVEL","PRIORITY","URGENCY"]); |
|
Tornar Campos Opcionais | $CS.nonMandateField(fields) | $CS.nonMandateField(["LEVEL","PRIORITY","URGENCY"]); |
|
Interromper Envio do Formulário | $CS.stopFormSubmission() | var status=$CS.getText("STATUS"); if(status==="Closed"){ $CS.stopFormSubmission(); } |
|
Encontrar status de login do solicitante | $CS.isRequester() |
|
|
Verificar login de técnico | $CS.isTechnician() |
|
|
Encontrar função do usuário | $CS.hasRole(role) | $CS.hasRole("SDAdmin"); |
|
Encontrar ID do usuário conectado | $CS.getLoggedInUserName() | var userName= $CS.getLoggedInUserName(); |
|
Definir objeto de dependência de campo | $CS.setFieldDependency(dependencyObject) | var dependencyObj= { 'FIELDS': [ 'País', 'Cidade', 'Representante de suporte' ], 'VALUES': { 'Índia': { 'Mumbai': [ 'Ali Hassan', 'Neha Agarwal' ], 'Chennai': [ 'Guru Prasath', 'Ramesh Kumar' ] }, 'América': { 'Califórnia': [ 'Donald Miller', 'Lisa Turner' ], 'Chicago': [ 'Margaret Taylor', 'Ronald Lewis' ] }, 'Russia': {} } }; $CS.setFieldDependency(dependencyObj); | Aqui, a mesma função funciona tanto para dependências de dois campos quanto de três campos. Este método é usado para criar dependência apenas entre campos adicionais. O formato do objeto de dependência deve ser o seguinte: a ordem dos campos dependentes deve ser fornecida no array FIELDS da direita para a esquerda, ou seja, os campos no array FIELDS na segunda posição devem depender do campo na primeira posição. Além disso, as opções em VALUES devem estar no formato de array para o campo mais à direita, enquanto as opções em VALUES devem estar no formato de objeto JSON para todos os outros campos. Forneça a capitalização correta para o rótulo do campo e o rótulo da opção. Caso contrário, a dependência não funcionará corretamente. Consulte o exemplo acima para o formato do objeto de dependência. |
Definir Tarefas | $CS.setTasks(tasksArray) | $CS.setTasks(["templateTask1","templateTask2","templateTask3"]); |
|
Remover Definição de Tarefas | $CS.unSetTasks(tasksArray) | $CS.unSetTasks(["templateTask1","templateTask2","templateTask3"]); |
|
Adicionar Descrição | $CS.setDescription(description) | $CS.setDescription("O aplicativo falha / trava com frequência no ambiente do usuário, causando instabilidade no sistema."); | |
Obter Descrição | $CS.getDescription() | var descriptionContent=$CS.getDescription(); |
|
Desabilitar Opções | $CS.disableOptions(fieldId,options) | $CS.disableOptions("STATUS",["Open","Closed"]); |
|
Habilitar Opções | $CS.enableOptions(fieldId,options) | $CS.enableOptions("STATUS",["Open","Closed"]); |
|
Verificar visibilidade do campo | $CS.isVisible(field) | var isPriorityFieldVisiable=$CS.isVisible("PRIORITY"); |
|
Verificar status de edição do recurso | $CS.isEnabled(field) | $CS.isEnabled("PRIORITY"); |
|
Verificar status obrigatório | $CS.isMandated(field). | $CS.isMandated("PRIORITY"); |
|
| $CS.getLoggedInUserEmailId() | var userEmail= $CS.getLoggedInUserEmailId(); |
|
Encontrar o nome de domínio do usuário conectado | $CS.getLoggedInUserDomainName() | var userDomainName= $CS.getLoggedInUserDomainName(); |
|
Obter hora do servidor | $CS.getServerTime() | var ServerTime=$CS.getServerTime(); |
|
Módulo/Seção | Evento de Disparo | Caso de Uso | Script |
Eventos Personalizados em Regras de Campo e Formulário | |||
Detalhes do Ativo |
| Ocultar o campo Fornecedor na página Detalhes do Ativo. | $CS.findElement("asset_detailview").on("page:load",()=>{ //Código que deve ser executado após o carregamento da página do ativo $CS.hideElement("vendor"); }) tab_ |
Alterar Funções | É acionado quando a página Alterar Funções é carregada. |
| $CS.executeEvent("change_roles_container","page:load",()=>{ $CS.hideElement("change_manager"); }) ; |
Notas de Alteração | É acionado quando a seção Notas de Alteração é carregada em etapas. | Ocultar o botão Excluir na página Notas. | $CS.executeEvent("change_notes_container").on("page:load",()=>{ //código que deve ser executado após a renderização das notas de alteração }); |
Registro de Trabalho da Alteração | É acionado após o carregamento da página de Visualização em Lista dos Registros de Trabalho. | Ocultar o botão Excluir na página Registros de Trabalho. | $CS.executeEvent("worklog_listview","page:load",()=>{//code })
|
Visualização da Lista de Tarefas
É acionado após o carregamento da página de Visualização da Lista de Tarefas.
Oculta o botão Novo na página de Visualização da Lista de Tarefas.
Eventos personalizados de mudança de aba
Eventos de mudança de aba
É acionado quando qualquer aba de estágio é alterada.
Ocultar qualquer subaba em Alterações.
Ocultar qualquer subaba em Releases.
eventos listen:click
Catálogo de Serviços
É acionado quando qualquer categoria de serviço é clicada.
Eventos listen:click
Solicitações
É acionado quando o botão Responder a todos é clicado na página de Detalhes da Solicitação.
É acionado quando o botão Recommend é clicado na página Request Details.
É acionado quando o botão Reply to é clicado na página Request Details.
É acionado quando o botão Forward é clicado na página Request Details.
É acionado quando o botão Resend é clicado na página Request Details.
Evento da página do Outlook
Página do Outlook
É acionado apenas na página do Outlook. Os metadados da seção do formulário são passados neste evento, que contém dados do Outlook.
Funções de Regras de Campo e Formulário
Função
Observações
Parâmetros
Script
readAndPopulateData
Lê um arquivo CSV e preenche valores do CSV em campos de linha única como opções. readAndPopulateData(path, map, options)
O parâmetro Path é o caminho do arquivo CSV. O arquivo CSV deve ser colocado dentro da pasta custom. O parâmetro Map contém o mapeamento entre CSV e campos. A primeira chave é considerada o campo primário, que deve ser único. O parâmetro Options define a ordem de dependência na qual os campos devem ser preenchidos. O campo Primarykey e a chave de regras de formulário devem ser fornecidos para este objeto. A função onchange é acionada quando qualquer campo configurado em Map é alterado. O parâmetro autopopulate é usado quando a chave primária é alterada. Se autopopulate estiver definido como True, as opções em relação ao Map serão fornecidas
referField
Preenche opções da API para campos de linha única. Função (fieldId, entityName, options)
fieldId - A chave FAFR deve ser informada entityName - O nome da entidade deve ser informado. Exemplo: ("udf_pick_119", "requests", etc) options tipo de objeto select2 - As opções com URL devem ser informadas.
Nome da Função | Observações | Parâmetros | Exemplos | ||||||||||||||||||||||||||||||
|
| Nome/Tipo | Descrição | ||||||||||||||||||||||||||||||
GetText | Retorna o valor de texto de um campo. | field/String | data-cs-field para o campo deve ser fornecido. | $CS.getText("change_requester","change_view") $CS.getText("stage") | |||||||||||||||||||||||||||||
form/String | O getText é usado a partir do formulário PageScript. O parâmetro é obrigatório para obter valor de um formulário. | ||||||||||||||||||||||||||||||||
getValue | Retorna o ID para fazer chamadas de API. | field/String | data-cs-field para o campo deve ser fornecido ou o FieldName sugerido no FAFR deve ser usado. | $CS.getValue("stage") $CS.getValue("change_requester","change_view") | |||||||||||||||||||||||||||||
form/String | O getText é usado a partir do formulário PageScript. O parâmetro é obrigatório para obter valor de um formulário | ||||||||||||||||||||||||||||||||
setValue | Usado para atualizar o formValue com o ID passado no método. | field/String | O data-cs-field do campo deve ser fornecido ou o FieldName sugerido no FAFR deve ser usado. | $CS.setText("title","sds","change_edit") | |||||||||||||||||||||||||||||
value/String or Array | O ID deve ser passado. | ||||||||||||||||||||||||||||||||
forUnset/String |
| ||||||||||||||||||||||||||||||||
setText | Usado para definir o valor do campo do formulário com base no parâmetro de texto informado. | fieldValue/String | O data-cs-field do campo deve ser fornecido ou o FieldName sugerido no FAFR deve ser usado. |
| |||||||||||||||||||||||||||||
| Valor de texto que deve ser definido para o respectivo campo. | ||||||||||||||||||||||||||||||||
hideElements | Oculta os campos em relação ao elemento correspondente data-cs-field>data-name>data-id>id. Se o elemento corresponder a qualquer um desses atributos, os campos serão ocultados. | field/String or Array | data-cs-field do elemento. | $CS.hideElement("request_type") | |||||||||||||||||||||||||||||
showElement | O método showElement exibe campos ocultos em relação ao elemento correspondente data-cs-field>data-name>data-id>id. Se o elemento corresponder a qualquer um desses atributos, os campos ocultos serão exibidos. | field/String or Array | data-cs-field do elemento. | $CS.showElement("request_type") | |||||||||||||||||||||||||||||
addElement | Adiciona um elemento antes ou depois do elemento fornecido. | selector/String | Um seletor jQuery deve ser fornecido. |
| |||||||||||||||||||||||||||||
element/String | Uma string HTML deve ser fornecida. | ||||||||||||||||||||||||||||||||
position/String | Nome da função jQuery, ex.: ("after","before","html") | ||||||||||||||||||||||||||||||||
ajax | O método ajax é usado para fazer uma chamada GET para uma URL e retornar a resposta de forma síncrona. | URL/String | A URL para a qual a chamada GET deve ser feita. | $CS.ajax("/api/v3/requests"); | |||||||||||||||||||||||||||||
addButton | A função addButton é usada para adicionar um botão na posição informada. | selector/String | Um seletor jQuery deve ser informado. | $CS.addButton("reply_btn","samplebtn",()=>{}) | |||||||||||||||||||||||||||||
name/String | O nome do botão. | ||||||||||||||||||||||||||||||||
callback/function | A função de callback é acionada quando o botão é clicado. | ||||||||||||||||||||||||||||||||
options/object |
| ||||||||||||||||||||||||||||||||
executeEvent | O método executeEvent é usado para anexar um evento dinâmico à janela, mesmo que o elemento não esteja presente. | elementId/String | O data-cs-field do elemento para o qual o evento dinâmico deve ser acionado deve ser informado. |
| |||||||||||||||||||||||||||||
eventType/String | O nome do evento dinâmico deve ser informado. |
| |||||||||||||||||||||||||||||||
callback/function | A função de callback é acionada quando o evento dinâmico é disparado. |
| |||||||||||||||||||||||||||||||
addTab | Adiciona uma aba na página de detalhes dos módulos de solicitação, mudança e liberação. | content/String | O conteúdo a ser exibido quando a aba for clicada. Observação: a URL pode ser um tipo de conteúdo, mas o parâmetro type deve ser informado como url. | $CS.addTab("hello world","html","sampleTab","history-tab") | |||||||||||||||||||||||||||||
| tipo/String | HTML ou URL deve ser fornecido de acordo com o caso de uso. |
| ||||||||||||||||||||||||||||||
| nome/função | A função de callback é acionada quando o evento dinâmico é acionado. |
| ||||||||||||||||||||||||||||||
| seletor/String | data-cs-filed da aba após a qual a aba personalizada deve ser renderizada deve ser fornecido. |
| ||||||||||||||||||||||||||||||
| callback/função | O callback é chamado após a aba ser clicada. |
| ||||||||||||||||||||||||||||||
addWidget | Adiciona um widget no HTML do elemento selecionado. Aceita widgets do tipo URL. | content/String | O conteúdo a ser exibido quando a aba for clicada. Observação: URL pode ser um tipo de conteúdo, mas o parâmetro type deve ser informado como url. | $CS.addWidget("hello world","html","resourceWidget","#tab-content",{position:"html"}) | |||||||||||||||||||||||||||||
tipo/String | HTML ou URL deve ser fornecido de acordo com o caso de uso. |
| |||||||||||||||||||||||||||||||
nome/função | Função de callback acionada quando o evento dinâmico é acionado. |
| |||||||||||||||||||||||||||||||
seletor/String | seletor jQuery |
| |||||||||||||||||||||||||||||||
options/object |
|
| |||||||||||||||||||||||||||||||
isAttachmentEmpty | O método isAttachmentEmpty é usado para retornar se o campo de anexo no formulário está vazio ou não. | booleano |
| $CS.isAttachmentEmpty(); | |||||||||||||||||||||||||||||
collapseTab | O método collapseTab é usado para recolher um zcollasapanel. O data-cs-field do painel zcollapllapsable deve ser fornecido como argumento. |
|
| $CS.collapseTab("change_description") | |||||||||||||||||||||||||||||
expandTab | O método collapseTab é usado para expandir um zcollasapanel. O data-cs-field do painel zcollapllapsable deve ser fornecido como argumento. |
|
| $CS.expandTab("change_description"); | |||||||||||||||||||||||||||||
disableField | O método disableField é usado para desabilitar campos do formulário. Os FieldIds devem ser passados como argumentos para desabilitar campos. Para desabilitar vários campos, o Field ID pode ser passado como array. |
|
| $CS.disableField("STATUS"); $CS.disableField(["STATUS","PRIORITY"]) | |||||||||||||||||||||||||||||
enableField | O método enableField é usado para habilitar o campo de formulário desabilitado. Os FieldIds devem ser passados como argumentos para habilitar campos. Para habilitar vários campos, o Field ID pode ser passado como array. |
|
| $CS.enableField("STATUS"); $CS.enableField(["STATUS","PRIORITY"]) | |||||||||||||||||||||||||||||
hideSection | O método hideSection é usado para ocultar uma seção no formulário. data-section deve ser passado como argumento. |
|
| $CS.hideSection("Requester Details") | |||||||||||||||||||||||||||||
showSection | O método showSection é usado para exibir seções ocultas. data-section deve ser passado como argumento. |
|
| $CS.showSection("Requester Details") | |||||||||||||||||||||||||||||
disableSection | O método disableSection é usado para desabilitar uma seção. O data-section da seção deve ser fornecido como argumento. |
|
| $CS.disableSection("Requester Details") | |||||||||||||||||||||||||||||
addMoreResource | O método addMoreResource é usado para acrescentar os dados dos campos de recurso em formato tabular na descrição. Caso de uso: Considere um cenário em que um formulário de solicitação de viagem é criado. O usuário precisa selecionar hotéis para uma viagem porque pode haver mais de uma hospedagem em um único roteiro. Para esse requisito de negócio, podemos preencher o valor dos campos fornecidos na tabela editável, e os mesmos dados da tabela serão copiados para a descrição. | resource/String | Id da seção à qual o botão deve ser adicionado | var fields = [ { display_name: "Item", fafrKey: "ITEM" }, { display_name: "Subcategory", fafrKey: "SUBCATEGORY" }, { display_name: "Subcategoria", fafrKey: "SUBCATEGORY" }, { display_name: "Categoria", fafrKey: "CATEGORY" }, { display_name: "Nome_Fornecedor", fafrKey: "WorkOrder_Fields_UDF_CHAR11" }, { display_name: "Origem", fafrKey: "WorkOrder_Fields_UDF_CHAR2" }, { display_name: "Destino", fafrKey: "WorkOrder_Fields_UDF_CHAR3" }, ]; var options = { section: "WorkOrder_Fields_UDF_CHAR1", individualValidation: false, resetVal: false, table: fields, addButton: function () { var self = this; var element = jQuery( '<div class="form-footer" style="border: 1px solid #cccccc"><input type="button" id="addButtonCUB" value="' + "Adicionar" + '" class="btn btn-primary"></div>' ); element.on("click", function () { self.constructRow(); }); $CS.findElement("#addButtonCUB").length == 0 && $CS.findElement("submit").before(element); }, }; $CS.addMoreResource("", options); | |||||||||||||||||||||||||||||
| opções/objeto |
| var fields = [ { display_name: "Item", fafrKey: "ITEM" }, { display_name: "Subcategoria", fafrKey: "SUBCATEGORY" }, { display_name: "Categoria", fafrKey: "CATEGORY" }, { display_name: "Nome_do_Fornecedor", fafrKey: "WorkOrder_Fields_UDF_CHAR11" }, { display_name: "Origem", fafrKey: "WorkOrder_Fields_UDF_CHAR2" }, { display_name: "Destino", fafrKey: "WorkOrder_Fields_UDF_CHAR3" }, ]; var options = { section: "WorkOrder_Fields_UDF_CHAR1", individualValidation: false, resetVal: false, table: fields, addButton: function () { var self = this; var element = jQuery( '<div class="form-footer" style="border: 1px solid #cccccc"><input type="button" id="addButtonCUB" value="' + "Adicionar" + '" class="btn btn-primary"></div>' ); element.on("click", function () { self.constructRow(); }); $CS.findElement("#addButtonCUB").length == 0 && $CS.findElement("submit").before(element); }, }; $CS.addMoreResource("", options); | ||||||||||||||||||||||||||||||
getApprovalStatus | O método getApprovalStatus retorna o status atual da aprovação. Observação: aplicável somente à página de solicitação. |
|
| $CS.getApprovalStatus() | |||||||||||||||||||||||||||||
retorna o nome de usuário do usuário conectado. |
|
| $CS.getLoggedInUserLoginName() | ||||||||||||||||||||||||||||||
getDescription | retorna o valor da descrição como String. |
|
| $CS.getDescription(); | |||||||||||||||||||||||||||||
O método setFieldDependency é usado para definir a dependência entre campos. Exemplo: categoria, subcategoria, item. |
| Este método é usado para criar dependência apenas entre campos adicionais. O formato do objeto de dependência deve ser o seguinte: a ordem dos campos dependentes deve ser fornecida no array FIELDS da direita para a esquerda: os campos no array FIELDS na segunda posição devem depender do campo na primeira posição. As opções em VALUES devem estar no formato de array para o campo mais à direita, enquanto as opções em VALUES devem estar no formato de objeto JSON para todos os outros campos. Forneça a capitalização correta para o rótulo do campo e o rótulo da opção. Caso contrário, a dependência não funcionará corretamente. | var dependencyObj= { 'FIELDS' :['Country','City','Support Rep'], 'VALUES':{ 'India':{ 'Mumbai':['Ali Hassan','Neha Agarwal'], 'Chennai':['Guru Prasath','Ramesh Kumar'] } , 'America':{ 'California':['Donald Miller','Lisa Turner'], 'Chicago':['Margaret Taylor','Ronald Lewis'] } , 'Russia':{ } , 'China':{ } , 'England':{ } } } ; $CS.setFieldDependency(dependencyObj); | ||||||||||||||||||||||||||||||
getApprovalStatusValue | O método getApprovalStatusValue pode ser usado para obter o ID do status de aprovação. |
|
| $CS.getApprovalStatusValue(); | |||||||||||||||||||||||||||||
mandateField | A função mandateField é usada para tornar um campo do formulário obrigatório. O nome do campo deve ser passado como argumento. Para tornar vários campos obrigatórios, os argumentos devem ser fornecidos como um array. |
|
| $CS.mandateField("DESCRIPTION") $CS.mandateField(["DESCRIPTION","ATTACHMENT"]) | |||||||||||||||||||||||||||||
isMandated | O método isMandated é usado para verificar se um campo do formulário é obrigatório. |
|
| $CS.isMandated("DESCRIPTION") | |||||||||||||||||||||||||||||
nonMandateField | O método nonMandateField é usado para remover a obrigatoriedade de um campo do formulário. O nome do campo deve ser passado como argumento. Para vários campos serem definidos como obrigatórios, os argumentos devem ser fornecidos como um array. |
|
| $CS.nonMandateField("DESCRIPTION") $CS.nonMandateField(["DESCRIPTION","ATTACHMENT"]) | |||||||||||||||||||||||||||||
A função exportPdf é usada para exportar qualquer página como PDF. | opções/objeto | { url: //URL da página não obrigatória page_settings:{ timeout : 100 // tempo limite em milissegundos } } | $CS.exportPdf({ url:"/WorkOrder.do?woMode=viewWO&woID=1", fileName:"request_1" }) | ||||||||||||||||||||||||||||||
| Executa ações de script durante a edição inline. | Sintaxe $CS.findElement("${fieldName}").on("field:change",()=>{ // Tratamento a ser feito na alteração do campo })
| $CS.executeEvent("change_view","form:load",()=>{ console.log($CS.getText("change_type","change_view")); // o campo category é editado no modo de visualização $CS.findElement("category").off("field:change").on("field:change",()=>{ console.log($CS.getText("category","change_view")) }) }) | ||||||||||||||||||||||||||||||









