//událost před inicializaci formuláře this.OnFormInit = function(form) {
// nastavení formulářové definice dle názvu seznamu varlistName = TiSa.Forms.CurrentForm.GetListName(); if (listName == "ISOValidDocuments") { form.SetFormDefinition("Valid"); }
// nastavení formulářové definice dle členství ve skupině (asynchronní) form.SetFormDefinitionAsync(); form.IsUserInSPGroup("SP-TEST", function(result)){ if (result){ _isUserInGroup = result; } form.SetFormDefinitionAsyncComplete("Valid"); }
// navázání události pro provedení akce (např. po kliku na tlačítko v ribbon) form.OnAction("start", function(completeCallBack, ctx, actionParameter) { WFEngine.Manager.StartWorkflowOnItem("StartWorkflowName", form.ItemId, form.ListId, function(result){ // po dokončení async operace je nutné volat completeCallBack, nebo provést redirect completeCallBack(); }); }); };
// událost po inicializaci formuláře this.OnFormInitComplete = function(form) {
// zízkání objektu pole (varianta 1) varfrmCtx = form.FormContext; varctMyField = frmCtx.FindFieldControl("MyField");
// zízkání objektu pole (varianta 2) varctMyField = form.FieldsByName.MyField;
// typ formuláře if (form.IsNewForm || form.IsEditForm || form.IsEditableForm || form.IsDisplayForm || form.IsTaskForm){ // ... }
// získání html input pole varctMyFieldInput = ctMyField.GetInput();
// získání hodnoty uložené pole varoriginalFieldValue = form.FormData.MyField;
// získání a nastavení hodnoty pole varctMyFieldValue = ctMyField.GetValue(); ctMyField.SetValue("any value");
// nastavení příznaků pole (readonly, required, hidden) ctMyField.SetReadOnly(false); ctMyField.SetRequired(true); ctMyField.SetVisible(true);
// navázání události na změnu pole (varianta 1) ctMyField.OnChange(function(){ if (this.GetValue() === "current"){ form.FieldsByName.MyFieldUser.SetValue(_spPageContextInfo.userId); } });
// navázání události na změnu pole (varianta 2) varfnChangeMyField = function(){ if (this.GetValue() === "current"){ form.FieldsByName.MyFieldUser.SetValue(_spPageContextInfo.userId); } }; ctMyField.OnChange(fnChangeMyField); ctMyField2.OnChange(fnChangeMyField); ctMyField3.OnChange(fnChangeMyField);
// nastavení celého formuláře pouze pro čtení form.SetReadOnly(true);
};
}
nový zápis
již se neuvádí obalovací funkce function 'TiSaForm_Customize'
události jsou definované jako funkce onFormInit, onFormInitComplete
//událost před inicializaci formuláře asyncfunctiononFormInit() {
// nastavení formulářové definice dle názvu seznamu constlistName = TiSa.Forms.CurrentForm.GetListName(); if (listName == "ISOValidDocuments") { form.SetFormDefinition("Valid"); }
// nastavení formulářové definice dle členství ve skupině (asynchronní) form.SetFormDefinitionAsync(); form.IsUserInSPGroup("SP-TEST", function(result)){ if (result){ _isUserInGroup = result; } form.SetFormDefinitionAsyncComplete("Valid"); }
// navázání události pro provedení akce (např. po kliku na tlačítko v ribbon) // nebude potřeba }
// událost po inicializaci formuláře functiononFormInitComplete(){
// zízkání objektu pole (varianta 1) const {MyField} = tisa.form.field;
// zízkání objektu pole (varianta 2) constctMyField = tisa.form.field.MyField;
// typ formuláře if (form.isNewForm || form.isEditForm || form.isEditableForm || form.isDisplayForm || form.isTaskForm){ // ... }
// získání html input pole (deprecated)
// získání hodnoty uložené pole varoriginalFieldValue = MyField.originalValue;
// získání a nastavení hodnoty pole varctMyFieldValue = MyField.value; MyField.value = "any value";
// navázání události na změnu pole (varianta 1) MyField.OnChange((newValue) => { if (newValue === "current"){ form.FieldsByName.MyFieldUser.SetValue(_spPageContextInfo.userId); } });
// navázání události na změnu pole (varianta 2) varfnChangeMyField = function(){ if (this.GetValue() === "current"){ form.FieldsByName.MyFieldUser.SetValue(_spPageContextInfo.userId); } }; ctMyField.OnChange(fnChangeMyField); ctMyField2.OnChange(fnChangeMyField); ctMyField3.OnChange(fnChangeMyField);
// nastavení celého formuláře pouze pro čtení form.SetReadOnly(true);