123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- var Unibase;
- (function (Unibase) {
- let Forms;
- (function (Forms) {
- let Controls;
- (function (Controls) {
- class TextEditor extends Unibase.Platform.Core.BaseComponent {
- init(formpropertyid, prop, callback) {
- var instance = new TextEditor();
- var container = "control-container-" + formpropertyid;
- instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
- var summernoteid = $("#" + container).find(".txtSummernote_" + prop.DocPropertyName).attr('id');
- var data = null;
- if (prop.ControlJsonText != "") {
- data = JSON.parse(prop.ControlJsonText);
- }
- if (data != null) {
- Unibase.Platform.Analytics.Managers.ReportManager.Instance().getHeaderColumns(data.TokenReportId).then(function (response) {
- var Data = new Array();
- for (let i = 0; i < response.length; i++) {
- var result = response[i].title;
- Data.push(result);
- }
- var placeholder = $("#summernote_" + prop.FormPropertyId).data('placeholder');
- var _fileCacheHelper = instance.fileCacheHelper;
- _fileCacheHelper.loadJsFile("libs/summernote/summernote.min.js", function () {
- _fileCacheHelper.loadCssFile("libs/summernote/summernote.css", function () {
- instance.loadSummernote(prop.FormPropertyId, placeholder, Data);
- });
- });
- });
- }
- else {
- var placeholder = $("#summernote_" + prop.FormPropertyId).data('placeholder');
- var _fileCacheHelper = instance.fileCacheHelper;
- _fileCacheHelper.loadJsFile("libs/summernote/summernote.min.js", function () {
- _fileCacheHelper.loadCssFile("libs/summernote/summernote.css", function () {
- instance.loadSummernote(prop.FormPropertyId, placeholder, Unibase.Data);
- });
- });
- }
- $(".divCustomProperties_" + prop.DocPropertyName).find('.note-editor').find('.note-eventButton').addClass('hidden');
- $(".divCustomProperties_" + prop.DocPropertyName).find(".note-editable").attr("id", "note-editable" + prop.DocPropertyName);
- if (prop.ControlJsonText != "") {
- data = JSON.parse(prop.ControlJsonText);
- }
- if (data != "" && data != null) {
- if (data.tokenreportid != 0) {
- $(".divCustomProperties_" + prop.DocPropertyName).find('.note-editor').find('.note-eventButton').removeClass('hidden');
- $("#SummerNoteToken_" + prop.DocPropertyName).change(function () {
- var tokentext = $("#SummerNoteToken_" + prop.DocPropertyName + " option:selected").text();
- var tokenlisttext = "{{" + tokentext + "}}";
- $(".summernote_" + prop.DocPropertyName).summernote('editor.restoreRange');
- $(".summernote_" + prop.DocPropertyName).summernote('editor.focus');
- $(".summernote_" + prop.DocPropertyName).summernote('editor.insertText', tokenlisttext);
- $("#SummerNoteToken_" + prop.DocPropertyName).text("Tokens");
- });
- $("#SummerNoteToken_" + prop.DocPropertyName).css("height", "35").css("width", "102").css("padding-right", "0").css("padding-top", "1");
- $("#SummerNoteToken_" + prop.DocPropertyName).parent().css("height", "40").css("width", "200").css("padding-left", "-10px").css("padding-top", "-10px").css("margin-top", "-2px");
- $("#SummerNoteToken_" + prop.DocPropertyName).parent().parent().css("height", "35").css("padding", "0").css("background-color", "transparent");
- $('.select2-container--default').css('width', '100%');
- }
- else {
- $(".divCustomProperties_" + prop.DocPropertyName).find('.note-editor').find('.note-eventButton').addClass('hidden');
- }
- }
- else {
- $(".divCustomProperties_" + prop.DocPropertyName).find('.note-editor').find('.note-eventButton').addClass('hidden');
- }
- if (callback != null)
- callback();
- }
- loadSummernote(FormPropertyId, Placeholder, Data) {
- $(".summernote_" + FormPropertyId).summernote({
- height: 100,
- minHeight: null,
- maxHeight: null,
- placeholder: Placeholder,
- disableDragAndDrop: true,
- codemirror: {
- mode: 'text/html',
- lineNumbers: true
- },
- toolbar: [
- ['font', ['bold', 'italic', 'underline']],
- ['color', ['color']],
- ['view', ['fullscreen', 'codeview', 'help']],
- ['table', ['table']],
- ],
- hint: {
- match: /\B[@!](\w*)$/,
- search: function (keyword, callback) {
- callback($.grep(Data, function (i) {
- var user = i;
- return user.indexOf(keyword) === 0;
- }));
- },
- content: function (i) {
- var user = i;
- return $('<span>@' + user + '</span>')[0];
- }
- }
- });
- $(".note-editor").css("z-index", "0");
- }
- loadControl(containerid, prop) {
- var regExpr = "";
- var ErrMsg = "";
- var validationlist = prop.Validations;
- if (validationlist != null) {
- for (var i = 0; i < validationlist.length; i++) {
- regExpr += validationlist[i].RegularExp + '||';
- ErrMsg += validationlist[i].ErrorMessage + '||';
- }
- }
- var Isrequired = prop.IsRequired != true ? 'hidden' : '';
- var required = prop.IsRequired != true ? '' : 'required';
- var reqMark = prop.IsRequired != true ? '' : '*';
- var CurrentStageId = $("#hf_" + $("#hfLayout_InstalledPageId").val() + "_StageId").val();
- if (prop.StagesForRequired != null && prop.StagesForRequired != "") {
- var StagesForRequired = prop.StagesForRequired.split('|');
- Isrequired = StagesForRequired.find(x => x == CurrentStageId) ? '' : 'hidden';
- required = StagesForRequired.find(x => x == CurrentStageId) ? 'required' : '';
- reqMark = StagesForRequired.find(x => x == CurrentStageId) ? '*' : '';
- }
- var isCodeView = "false";
- var propSettings = prop.PropertySettings.find(x => x.ControlPropertyName == "IsCodeView");
- if (propSettings != null || propSettings != undefined) {
- if (propSettings.ControlPropertyValue == "true") {
- isCodeView = "true";
- }
- }
- const { helpTooltipHtml, helpTextHtml } = Unibase.Platform.Forms.Components.FormViewer.Instance().getControlHelpHtml(prop);
- var html = '<div id="div" class="TextEditor"><input type="hidden" id="txthdn_' + prop.FormPropertyId + '" data-event="Unibase.Forms.Controls.TextEditor.Instance().getobj(' + prop.FormPropertyId + ',\'' + isCodeView + '\');" class="TextEditor value-control" data-iscodeview="' + isCodeView + '">' +
- '<span class="text-danger ' + Isrequired + '" id = "spnIsRequired_' + prop.DocPropertyName + '" ></span >' +
- '<div class="type-control summernote_' + prop.DocPropertyName + ' summernote_' + prop.FormPropertyId + ' ' + required + '" style="display: block;" id="summernote_' + prop.FormPropertyId + '" data-propdoctypename="' + prop.DocPropertyName + '" data-required="' + prop.IsRequired + '" data-regularexp="" data-validatemsg="" placeholder = "' + prop.Placeholder + '" data-placeholder="' + prop.Placeholder + '" data-label="' + prop.LabelName + '" data-iscodeview="' + isCodeView + '"></div>' +
- '<label for="Validation" id="lblValidation"></label></div>' + helpTooltipHtml + helpTextHtml;
- if (isCodeView == "false") {
- html = '<div class=""><input type="hidden" id="txthdn_' + prop.FormPropertyId + '" class="TextEditor" data-iscodeview="' + isCodeView + '">' +
- '<div class="input-group">' +
- '<textarea id="textarea_' + prop.FormPropertyId + '" class="type-control value-control floating-label-control" rows="5" style="width:100%;" placeholder="' + prop.Placeholder + '" data-placeholder="' + prop.Placeholder + '" data-label="' + prop.Placeholder + '" data-regularexp="' + regExpr + '" data-validatemsg="' + ErrMsg + '" data-event="Unibase.Forms.Controls.TextEditor.Instance().getobj(' + prop.FormPropertyId + ',\'' + isCodeView + '\');" ></textarea>' +
- '</div></div>' + helpTooltipHtml + helpTextHtml;
- }
- $("#" + containerid).html(html);
- $("#summernote_" + prop.FormPropertyId).on("summernote.change", function (e) {
- var val = $("#control-container-" + prop.FormPropertyId).find('.note-editable').text();
- });
- }
- loadControlSettings(controlsettingjson, formpropertyid) {
- return null;
- }
- loadPropertySettings(propertysettings, formpropertyid) {
- return null;
- }
- bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
- var iscodeview = $("#txthdn_" + formpropertyid).data("iscodeview");
- if (iscodeview == false) {
- $("#textarea_" + formpropertyid).val(unescape(propval));
- }
- else {
- var decodedData = unescape(propval);
- var decode = HtmlHelper.getHelper().decode(decodedData);
- $("#summernote_" + formpropertyid).summernote('code', decode);
- }
- }
- getobj(formPropertyId, isCodeView) {
- var finalval = "";
- if (isCodeView == "false") {
- finalval = $("#textarea_" + formPropertyId).val().toString();
- finalval = finalval.trim();
- }
- else {
- var code = $("#summernote_" + formPropertyId).summernote('code');
- finalval = HtmlHelper.getHelper().encode(code);
- finalval = finalval.trim();
- }
- return finalval;
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new TextEditor();
- }
- return this.instance;
- }
- }
- Controls.TextEditor = TextEditor;
- })(Controls = Forms.Controls || (Forms.Controls = {}));
- })(Forms = Unibase.Forms || (Unibase.Forms = {}));
- })(Unibase || (Unibase = {}));
|