123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 |
- var Unibase;
- (function (Unibase) {
- let Platform;
- (function (Platform) {
- let Series;
- (function (Series) {
- let Components;
- (function (Components) {
- class CreateSeries extends Platform.Core.BaseComponent {
- constructor() {
- super();
- this.InstalledAppId = 0;
- this.seriesManager = Series.Managers.SeriesManager.Instance();
- this.companymanager = Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance();
- }
- jsFiles() {
- return ['platform/series/managers/seriesmanager.js', 'apps/crm/companies/managers/companymanager.js', 'platform/series/components/series.js', "platform/forms/components/formviewer/formviewer.js", 'libs/parsley/parsley.min.js', 'platform/core/infos/status.js', 'platform/series/requests/series.js'];
- }
- cssFiles() {
- return [];
- }
- html(id, containerid) {
- let html = `<form id="frm_CreateSeries" method="post" data-validate="parsley">
- <div class="b-b bg-white header">
- <strong class="text-dark Title sp_title">Create Series</strong>
- </div>
- <div data-simplebar class="simple-scroll-bar scrollable control-sorting">
- <div id="div_SeriesMessage" class="clear">
- </div>
- <div class="section_Details card">
- <div class="card-body">
- <div class="row div_SName">
- <div class="col-sm-6">
- <div class="floating-label-form-group form-group floating-label focus" id="div_SeriesName">
- <label for="lblSeriesName" id="lbl_SeriesName">Series Name<span class="text-danger"> *</span></label>
- <div class="input-group">
- <input type="text" id="txt_SeriesName" class="form-control required floating-label-control" data-isdynamic="false" placeholder="Series Name *" data-placeholder="Enter Series Name" data-label="Series Name *" />
- <input type="hidden" id="hf_StatusId" value="1" />
- </div>
- </div>
- </div>
- <div class="col-sm-6" id="div_AppliedFor">
- <label for="lblAppliedFor" id="lbl_AppliedFor">Applied For<span class="text-danger"> *</span></label>
- <select style="width:100%" id="txt_AppliedFor" class="form-control txt_AppliedFor required value-control floating-label-control" data-isdynamic="false" placeholder="Applied For" data-placeholder="Applied For" data-label="Applied For">
- </select>
- <input type="hidden" id="hf_AppliedFor" />
- </div>
- </div>
- <div class="row div_SFormat">
- <div class="col-sm-6">
- <div class="floating-label-form-group form-group floating-label focus" id="div_SeriesFormat">
- <label for="lblSeriesFormat" id="lbl_SeriesFormat">Series Format<span class="text-danger"> *</span></label>
- <div class="input-group">
- <input type="text" id="txt_SeriesFormat" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="SE/{{SN}}" data-label="Series Format *" placeholder="Series Format *" />
- </div>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="floating-label-form-group form-group floating-label focus" id="div_StartingNo">
- <label for="lblStartingNo" id="lbl_StartingNo">Starting No<span class="text-danger"> *</span></label>
- <input type="text" id="txt_StartingNo" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="1" data-label="Starting No *" placeholder="Starting No *"/>
- </div>
- </div>
- </div>
- <div class="row div_Format">
- <div class="col-sm-6">
- <div class="floating-label-form-group form-group floating-label focus" id="div_NumberSize">
- <label for="lblNumberSize" id="lbl_NumberSize">Number Size<span class="text-danger"> *</span></label>
- <input type="text" id="txt_NumberSize" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="4" data-label="Number Size *" placeholder="Number Size *" maxlength="1" />
- </div>
- </div>
- <div class="col-sm-6">
- <div class="floating-label-form-group form-group floating-label focus" id="div_NumberPrefix">
- <label for="lblNumberPrefix" id="lbl_NumberPrefix">Number Prefix<span class="text-danger"> *</span></label>
- <input type="text" id="txt_NumberPrefix" class="form-control required floating-label-control" data-isdynamic="false" data-placeholder="0" data-label="Number Prefix *" placeholder="Number Prefix *" maxlength="1"/>
- </div>
- </div>
- </div>
- <div class="row div_Dates">
- <div class="col-sm-6 ">
- <div class="floating-label-form-group floating-label-form-group-with-value" id="div_FromDate">
- <label for="lblFromDate" id="lbl_FromDate">From Date<span class="text-danger"> *</span></label>
- <div class="input-group">
- <input type="text" id="txt_fromdate" class="form-control value-control datepicker-input hasDatepicker required" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="From Date *" data-placeholder="dd/mm/yyyy" data-label="From Date *" />
- <a class="input-group-addon bg-white no-borders"><i class="fa fa-calendar"></i></a>
- </div>
-
- </div>
- </div>
- <div class="col-sm-6">
- <div class="floating-label-form-group floating-label-form-group-with-value" id="div_ToDate">
- <label for="lblToDate" id="lbl_ToDate">To Date<span class="text-danger"> *</span></label>
- <div class="input-group">
- <input type="text" id="txt_ToDate" class="form-control value-control datepicker-input hasDatepicker required" data-date-format="dd/MM/yyyy" data-isdynamic="false" placeholder="To Date *" data-placeholder="dd/mm/yyyy" data-label="To Date *" readonly="true" />
- <a class="input-group-addon bg-white no-borders"><i class="fa fa-calendar"></i></a>
- </div>
- </div>
- </div>
- </div>
- <div class="row div_ManualNum">
- <div class="col-sm-6 mt-30">
- <div class="form-group floating-label focus" id="div_istodate">
- <label for="frm_chk_istodate" id="lbl_istodate">Is To Date Undefined</label>
- <label class="switch pull-right">
- <input type="checkbox" id="chk_istodate" data-isdynamic="false" />
- <span></span>
- </label>
- </div>
- </div>
- <div class="col-sm-6 mt-30">
- <div class="form-group floating-label focus" id="div_ManualNumbering">
- <label for="frm_chk_ManualNumbering" id="lbl_ManualNumbering"><strong>Manual Numbering</strong></label>
- <label class="switch pull-right">
- <input type="checkbox" id="chk_ManualNumbering" data-isdynamic="false" />
- <span></span>
- </label>
- </div>
- </div>
- </div>
- <div class="row div_SerialnumberSettings">
- <div class="col-sm-6 mt-30">
- <div class="form-group floating-label focus" id="div_IsRandom">
- <label for="frm_chk_IsRandom" id="lbl_IsRandom"><strong>IsRandom</strong></label>
- <label class="switch pull-right">
- <input type="hidden" id="hf_IsRandom" value="" />
- <input type="checkbox" id="chk_IsRandom" data-isdynamic="false" />
- <span></span>
- <input type="hidden" id="hf_IsRandom" value="">
- <label for="Validation" id="lblValidation_IsRandom"></label>
- <input type="hidden" id="hfFormPropertyId" />
- </label>
- </div>
- </div>
- <div class="col-sm-6 div_SeriesType">
- <div class="form-group floating-label focus" id="divSeriesType">
- <label for="frm_chk_SeriesType" id="lbl_IsRandom">Series Type</label>
- <select id="ddl_SeriesType" class="form-control type-control value-control " placeholder = "Select SeriesType" data-placeholder="select SeriesType"><option value="0">--Select--</option><option value="1">Alphabets</option><option value="2">Numbers</option><option value="3">AlphaNumeric</option></select>
- </div>
- </div>
- </div>
- <div class="row div_CompnBranch">
- <div class="col-sm-6" id="div_Companies">
- <label for="lblCompanies" id="lbl_Companies">Companies</label>
- <select style="width:100%" id="sel_Companies" class="form-control txt_Companies floating-label-control" data-isdynamic="false" placeholder="Select" data-placeholder="Select" data-label="Companies" multiple="multiple">
- <input type="hidden" id="hfSelect2_Companies" class="hfSelect2_Roles' form-control value-control" data-isdynamic="true"/>
- </select>
- </div>
- <div class="col-sm-6" id="div_Branches">
- <label for="lblAppliedFor" id="lbl_Branches">Branches</label>
- <select style="width:100%" id="sel_Branches" class="form-control txt_Branches floating-label-control" data-isdynamic="false" placeholder="Select" data-placeholder="Select" data-label="Branches" multiple="multiple">
- <input type="hidden" id="hfSelect2_Branches" class="hfSelect2_Branches' form-control value-control" data-isdynamic="true"/>
- </select>
- </div>
- </div>
- </div>
- </div>
- <div class="section_Description card">
- <div class="card-header">Description</div>
- <div class="card-body">
- <div class="divsummernote wrapper bg-white" style="padding-top:0px;">
- <div id="div_Series_Description" data-isdynamic="false" placeholder="Description" data-placeholder="Enter Description" data-label="Description"></div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="bg-white footer b-t">
- <a id="btn_CloseSeries" class="btn btn-light btn-sm mr-auto btn-close"> Close</a>
- <a id="btn_SaveSeries" class="btn btn-primary btn-sm">Save</a>
- </div></form>`;
- return html;
- }
- load(id, containerid, callback) {
- var instance = this;
- instance.summernote();
- var InstalledAppId = Unibase.Platform.Series.Components.Series.Instance().InstalledAppId;
- instance.InstalledAppId = InstalledAppId;
- $('#txt_StartingNo').addClass('numberonly');
- $('#txt_NumberSize').addClass('numberonly');
- $('#txt_NumberPrefix').addClass('numberonly');
- $('.numberonly').keypress(function (event) {
- if ((event.which > 47 && event.which < 58)) {
- }
- else {
- event.preventDefault();
- }
- }).on('paste', function (event) {
- event.preventDefault();
- });
- $("#txt_ToDate,#txt_fromdate").keypress(function (event) {
- if ((event.which > 44 && event.which < 58)) {
- }
- else {
- event.preventDefault();
- }
- });
- var currentdate = new Date();
- var datetime = currentdate.getDate() + "/"
- + (currentdate.getMonth() + 1) + "/"
- + currentdate.getFullYear() + " ";
- $("#txt_fromdate").val("" + datetime + "");
- currentdate.setDate(currentdate.getDate() + 364);
- var datetime1 = currentdate.getDate() + "/"
- + (currentdate.getMonth() + 1) + "/"
- + (currentdate.getFullYear()) + " ";
- $('#txt_fromdate').daterangepicker({
- locale: {
- format: 'DD/MM/YYYY',
- },
- singleDatePicker: true,
- showDropdowns: true,
- minYear: 1901,
- maxDate: new Date(2050, 11, 31)
- })
- .change(dateChanged)
- .on('changeDate', dateChanged);
- $("#txt_ToDate").val("" + datetime1 + "");
- $('#txt_ToDate').daterangepicker({
- locale: {
- format: 'DD/MM/YYYY',
- },
- singleDatePicker: true,
- showDropdowns: true,
- minYear: 1901,
- minDate: datetime,
- maxDate: new Date(2050, 11, 31)
- });
- `1`;
- function dateChanged(ev) {
- var DateSplit = $("#txt_fromdate").val().toString().split('/');
- var DateArray = DateSplit.filter(function (v) { return v !== ''; });
- var Only = DateArray[2].split(" ");
- var onlyYear = parseInt(Only[0]);
- var fromdate = new Date(moment($("#txt_fromdate").val(), "DD/MM/YYYY").format("YYYY/MM/DD"));
- var todate_min = new Date(moment($("#txt_fromdate").val(), "DD/MM/YYYY").format("YYYY/MM/DD"));
- fromdate.setDate(fromdate.getDate() + 364);
- var datetime1 = fromdate.getDate() + "/"
- + (fromdate.getMonth() + 1) + "/"
- + (fromdate.getFullYear()) + " ";
- $("#txt_ToDate").val(datetime1);
- $('#txt_ToDate').daterangepicker({
- locale: {
- format: 'DD/MM/YYYY',
- },
- singleDatePicker: true,
- showDropdowns: true,
- minYear: 1901,
- minDate: todate_min,
- maxDate: new Date(2050, 11, 31)
- });
- }
- $("#chk_istodate").on('change', function () {
- if ($(this).is(':checked')) {
- $('#txt_ToDate').prop('disabled', true);
- $('#txt_ToDate').css("cursor", "not-allowed");
- $('#txt_ToDate').removeClass("required");
- }
- else {
- $('#txt_ToDate').prop('disabled', false);
- $('#txt_ToDate').addClass("required");
- $('#txt_ToDate').removeAttr("style");
- }
- });
- $("#chk_ManualNumbering").on('change', function () {
- if ($(this).is(':checked')) {
- $('#txt_StartingNo').prop('disabled', true);
- $('#txt_NumberSize').prop('disabled', true);
- $('#txt_NumberPrefix').prop('disabled', true);
- $('#txt_SeriesFormat').prop('disabled', true);
- $('#txt_StartingNo').removeClass("required");
- $('#txt_SeriesFormat').removeClass("required");
- $('#txt_NumberPrefix').removeClass("required");
- $('#txt_NumberSize').removeClass("required");
- }
- else {
- $('#txt_StartingNo').prop('disabled', false);
- $('#txt_NumberSize').prop('disabled', false);
- $('#txt_NumberPrefix').prop('disabled', false);
- $('#txt_SeriesFormat').prop('disabled', false);
- $('#txt_StartingNo').addClass("required");
- $('#txt_SeriesFormat').addClass("required");
- $('#txt_NumberPrefix').addClass("required");
- $('#txt_NumberSize').addClass("required");
- }
- });
- $("#btn_SaveSeries").click(function () {
- let appcontrolid = "frm_CreateSeries";
- let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(appcontrolid);
- if (result == false) {
- MessageHelper.Instance().showError("Mandatory fields are missing", "div_SeriesMessage");
- return false;
- }
- else {
- instance.saveSeries(containerid, id);
- }
- });
- $(".div_SeriesType").addClass('hidden');
- $("#chk_IsRandom").on('change', function () {
- if ($(this).is(':checked')) {
- $(".div_SeriesType").removeClass('hidden');
- }
- else {
- $(".div_SeriesType").addClass('hidden');
- }
- });
- instance.loaddata(id);
- }
- loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
- CreateSeries.Instance().init(Pk_Value);
- }
- init(seriesid) {
- this.navigationHelper.popup(seriesid, '', Unibase.Platform.Series.Components.CreateSeries.Instance(), null, Platform.Helpers.Size.DockLeft);
- }
- loaddata(seriesid) {
- var instance = this;
- let url = _appsettings.server_url() + "/apis/v4/unibase/platform/apps/appkeyautocomplete";
- AutoCompleteHelper.getHelper().Create("#txt_AppliedFor", "#hf_AppliedFor", url, function (response) {
- });
- var companyurl = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getcompaniesAutoComplete';
- AutoCompleteHelper.getHelper().Create("#sel_Companies", "#hfSelect2_Companies", companyurl, function (response) {
- });
- var branchurl = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesAutoComplete';
- AutoCompleteHelper.getHelper().Create("#sel_Branches", "#hfSelect2_Branches", branchurl, function (response) {
- });
- if (seriesid != 0) {
- $(".sp_title").text("Edit Series");
- $("#div_AppliedFor").addClass("hidden");
- $(".div_SFormat").remove();
- $(".div_Format").remove();
- $(".div_Dates").remove();
- $(".div_ManualNum").remove();
- this.seriesManager.getSeriesById(seriesid).then(function (response) {
- $("#txt_SeriesName").val(response.result.SeriesName);
- $("#hfSeriesId").val(response.result.SeriesId);
- $("#hf_AppliedFor").val(response.result.AppKeyId);
- $("#txt_AppliedFor").removeClass('required');
- $("#div_Series_Description").summernote("code", response.result.Description);
- $("#div_SeriesName").addClass("floating-label-form-group-with-value");
- if (response.result.IsRandom == true) {
- $("#chk_IsRandom").prop("checked", true);
- $("#ddl_SeriesType").val(response.result.SeriesType);
- $(".div_SeriesType").removeClass('hidden');
- }
- if (response.result.Companies != '' && response.result.Companies != null) {
- var cids = response.result.Companies;
- var Companies = [];
- var ids = [];
- instance.companymanager.getAssignedCompanies(cids).then(function (response) {
- if (response.result != null) {
- var options = "";
- for (var i = 0; i < response.result.length; i++) {
- ids.push(response.result[i].CompanyId);
- options += '<option value="' + response.result[i].CompanyId + '">' + response.result[i].CompanyName + '</option>';
- }
- $("#sel_Companies").append(options).val(ids).trigger("change");
- }
- });
- }
- if (response.result.Branches != '' && response.result.Branches != null) {
- var userid = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
- instance.companymanager.getAssignedBranches(response.result.Branches, userid).then(function (response) {
- var Branches = [];
- var Ids = [];
- if (response.result != null) {
- var options = "";
- for (var i = 0; i < response.result.length; i++) {
- Ids.push(response.result[i].BranchId);
- options += '<option value="' + response.result[i].BranchId + '">' + response.result[i].BranchName + '</option>';
- }
- $("#sel_Branches").append(options).val(Ids).trigger("change");
- }
- });
- }
- $('#hf_StatusId').val(response.result.StatusId);
- });
- }
- }
- summernote() {
- $('#div_Series_Description').summernote({
- height: 100,
- minHeight: null,
- maxHeight: null,
- focus: true,
- placeholder: "Enter Description",
- codemirror: {
- mode: 'text/html',
- htmlNode: true,
- lineNumbers: true
- },
- toolbar: [
- ['font', ['bold', 'italic', 'underline']],
- ['color', ['color']],
- ['view', ['fullscreen', 'codeview', 'help']],
- ],
- });
- }
- getSelectedBranches() {
- var Branchcount = new Array();
- var branches = $('#sel_Branches').val();
- if (branches != null && branches != "null" && branches != "" && branches != undefined) {
- branches = branches.toString();
- Branchcount = branches.split(',');
- var branch = "";
- for (var i = 0; i < Branchcount.length; i++) {
- if (Branchcount[i] != "") {
- branch += "|" + Branchcount[i] + "|";
- }
- }
- return branch;
- }
- else {
- return "";
- }
- }
- getSelectedCompanies() {
- var companycount = new Array();
- var companies = $('#sel_Companies').val();
- if (companies != null && companies != "null" && companies != "" && companies != undefined) {
- companies = companies.toString();
- companycount = companies.split(',');
- var company = "";
- for (var i = 0; i < companycount.length; i++) {
- if (companycount[i] != "") {
- company += "|" + companycount[i] + "|";
- }
- }
- return company;
- }
- else {
- return "";
- }
- }
- saveSeries(containerid, id) {
- var instance = this;
- var StartingNo = 0;
- var SeriesFormat = "";
- var NumberPrefix = "";
- var NumberSize = 0;
- var fromdatestring = moment($("#txt_fromdate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
- let todatestring = moment($("#txt_ToDate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
- var todate = new Date(todatestring);
- var fromdate = new Date(fromdatestring);
- if (id == 0) {
- if ($("#chk_ManualNumbering").is(':checked')) {
- StartingNo = 0;
- SeriesFormat = "";
- NumberPrefix = "";
- NumberSize = 0;
- }
- else {
- StartingNo = Number($('#txt_StartingNo').val());
- SeriesFormat = $('#txt_SeriesFormat').val().toString();
- NumberPrefix = $('#txt_NumberPrefix').val().toString();
- NumberSize = Number($('#txt_NumberSize').val());
- }
- }
- let seriesformat = {
- SeriesId: id,
- SeriesFormatId: 0,
- StartingNumber: StartingNo,
- SeriesFormat: SeriesFormat,
- NumberPrefix: NumberPrefix,
- NumberSize: NumberSize,
- FromDate: fromdate,
- ToDate: todate,
- LastNumber: 0,
- IsToDateUndefined: $("#chk_istodate").prop('checked')
- };
- var InstalledAppId = instance.InstalledAppId;
- var AppKeyId = 0;
- if (id == 0) {
- AppKeyId = Number($("#txt_AppliedFor").val());
- }
- else {
- AppKeyId = Number($("#hf_AppliedFor").val());
- }
- var description = $('#div_Series_Description').summernote('code').toString();
- if (description == '<p><br></p>')
- description = '';
- else {
- description = $('#div_Series_Description').summernote('code').toString();
- description = description.replace('<p>', '').replace('</p>', '');
- }
- let postData = {
- SeriesId: id,
- SeriesName: $('#txt_SeriesName').val(),
- Description: description,
- AppKeyId: AppKeyId,
- CreateSeriesFormat: seriesformat,
- NumberPrefix: id == 0 ? $('#txt_NumberPrefix').val() : "",
- NumberSize: id == 0 ? Number($('#txt_NumberSize').val()) : 0,
- InstalledAppId: InstalledAppId,
- ManualNumbering: $("#chk_ManualNumbering").is(":checked"),
- Companies: this.getSelectedCompanies(),
- Branches: this.getSelectedBranches(),
- IsRandom: $("#chk_IsRandom").is(":checked"),
- SeriesType: Number($("#ddl_SeriesType option:selected").val()),
- StatusId: Number($('#hf_StatusId').val())
- };
- if (id != 0) {
- postData.CreateSeriesFormat = null;
- }
- this.seriesManager.createSeries(postData).then(function (response) {
- if (response.status == Unibase.Data.Status.Error) {
- MessageHelper.Instance().showError(response.message, 'div_SeriesMessage');
- }
- else {
- MessageHelper.Instance().showSuccess(response.message, 'div_SeriesMessage');
- $('#' + containerid).modal('hide');
- $('#' + containerid).remove();
- Unibase.Platform.Series.Components.Series.Instance().load(0, '', null);
- }
- });
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new CreateSeries();
- }
- return this.instance;
- }
- }
- Components.CreateSeries = CreateSeries;
- })(Components = Series.Components || (Series.Components = {}));
- })(Series = Platform.Series || (Platform.Series = {}));
- })(Platform = Unibase.Platform || (Unibase.Platform = {}));
- })(Unibase || (Unibase = {}));
|