$.fn.enterKey = function (fnc) { return this.each(function () { $(this).keypress(function (ev) { var keycode = ev.keyCode ? ev.keyCode : ev.which; if (keycode === 13) { fnc.call(this, ev); } }); }); }; TCM.Templates = {}; TCM.Templates.v1 = {}; TCM.Templates.v1.Components = {}; TCM.Templates.v1.Components.CreateModal = function (options) { var _options = { Title: '', CssClass: '', IncludeFooter: true, DestroyOnHide: false, StaticBackdrop: false, AppendToBody: true, Size: '', BodyContent: null, FooterContent: null }; $.extend(_options, options); // .modal var divModal = $('').addClass('modal fade').attr({ tabindex: -1, role: 'dialog' }); if (_options.CssClass) divModal.addClass(_options.CssClass); if (_options.StaticBackdrop) divModal.attr('data-backdrop', 'static'); // .modal-dialog var divModalDialog = $('').addClass('modal-dialog').attr({ role: 'document' }).appendTo(divModal); if (_options.Size === 'sm' || _options.Size === 'lg' || _options.Size === 'full-width') divModalDialog.addClass('modal-' + _options.Size); // .modal-content var divModalContent = $('').addClass('modal-content').appendTo(divModalDialog); // .modal-header var divModalHeader = $('').addClass('modal-header').appendTo(divModalContent); $('').addClass('modal-title').text(_options.Title).appendTo(divModalHeader); $('').addClass('close').attr({ "type": "button", "aria-label": TCM.Globalization.Translates.Close, "data-dismiss": "modal" }).append($('').attr('aria-hidden', 'true').html('×')).appendTo(divModalHeader); // .modal-body var divModalBody = $('').addClass('modal-body').appendTo(divModalContent); if (_options.BodyContent) divModalBody.append(_options.BodyContent); // .modal-footer if (_options.IncludeFooter) { var divModalFooter = $('').addClass('modal-footer').appendTo(divModalContent); if (_options.FooterContent) divModalFooter.append(_options.FooterContent); } // Options if (_options.DestroyOnHide) divModal.on('hidden.bs.modal', function () { divModal.remove(); }); if (_options.AppendToBody) divModal.appendTo('body'); return divModal; }; TCM.Templates.v1.Components.CKEditorInit = function (container) { var _container = container || window.document; $('[data-toggle=ckeditor5]', _container).each(function () { var $this = $(this); var _class = window['ClassicEditor'] || window['BalloonEditor']; if (_class) { var _language = TCM.Globalization.CultureUI.toLowerCase(); if (_language !== 'pt-br' & _language !== 'es') _language = ''; var options = { language: _language, removePlugins: ['Heading', 'Link'], toolbar: ['bold', 'italic', 'bulletedList', 'numberedList', '|', 'undo', 'redo'] }; var _type = $this.attr('data-ckeditor-type'); if (_type === 'empty') { options.removePlugins = ['Heading', 'Bold', 'Italic', 'Underline', 'Strikethrough', 'Code', 'Subscript', 'Superscript', 'Link']; options.toolbar = []; } var hasMention = false; var mentionConfig = { feeds: [] }; if ($this.attr('data-mention-url')) { mentionConfig.feeds.push({ marker: '@', feed: function (queryText) { return new Promise(resolve => { $.ajax({ url: $this.attr('data-mention-url'), type: 'POST', data: { term: queryText }, success: function (rt) { var items = []; $.each(rt, function () { items.push({ id: this.Data.MentionKey, name: this.Data.MentionFullName, objectId: this.Data.MentionID, objectType: 'mention' }); }); resolve(items); } }); }); }, minimumCharacters: 1 }); hasMention = true; } if ($this.attr('data-hashtag-url')) { mentionConfig.feeds.push({ marker: '#', feed: function (queryText) { return new Promise(resolve => { $.ajax({ url: $this.attr('data-hashtag-url'), type: 'POST', data: { term: queryText }, success: function (rt) { var items = []; $.each(rt, function () { items.push({ id: this.Data.Hashtag, name: this.Title, objectId: this.Title, objectType: 'hashtag' }); }); resolve(items); } }); }); }, minimumCharacters: 1 }); hasMention = true; } if (hasMention) { var mentionCustomization = function (editor) { editor.conversion.for('upcast').elementToAttribute({ view: { name: 'span', key: 'data-mention', classes: 'mention', attributes: { 'data-object-id': true, 'data-object-type': true } }, model: { key: 'mention', value: viewItem => { const mentionAttribute = editor.plugins.get('Mention').toMentionAttribute(viewItem, { objectId: viewItem.getAttribute('data-object-id'), objectType: viewItem.getAttribute('data-object-type') }); return mentionAttribute; } }, converterPriority: 'high' }); editor.conversion.for('downcast').attributeToElement({ model: 'mention', view: (modelAttributeValue, viewWriter) => { if (!modelAttributeValue) { return; } return viewWriter.createAttributeElement('span', { class: 'mention', 'data-mention': modelAttributeValue.id, 'data-object-id': modelAttributeValue.objectId, 'data-object-type': modelAttributeValue.objectType }); }, converterPriority: 'high' }); }; if (!$.isArray(options.extraPlugins)) options.extraPlugins = []; options.extraPlugins.push('Mention'); options.extraPlugins.push(mentionCustomization); options.mention = mentionConfig; } _class .create(this, options) .then(function (editor) { $this.attr('data-ckeditor-empty', !editor.getData() || editor.getData() === ' '); editor.model.document.on('change:data', () => { var data = editor.getData(); $this.attr('data-ckeditor-empty', !data || data === ' '); }); editor.ui.focusTracker.on('change:isFocused', (evt, name, isFocused) => { var data = editor.getData(); $this.attr('data-ckeditor-empty', !data || data === ' '); }); $this.on('updateckeditorvalue', () => { editor.updateSourceElement(); //editor.editing.view.fire('blur'); //$this.blur(); }); $this.on('clearvalue', () => { editor.setData(''); }); }) .catch(function (error) { console.error(error); }); } else { if (!$this.is('textarea')) { var textArea = $('') .addClass('form-control') .attr('placeholder', $this.attr('data-placeholder')) .val($this.text()) .insertAfter($this); $this.addClass('ckeditor5-not-ed').on('updateckeditorvalue', function () { $this.html(''); $.each(textArea.val().replaceAll('\r', '').split('\n'), function () { $('').text(this).appendTo($this); }); }).on('clearvalue', function () { textArea.val(''); }); } } }); }; TCM.Templates.v1.Components.Init = function (container) { var _container = container || window.document; TCM.Templates.v1.Components.CKEditorInit(_container); TCM.Templates.v1.Components.Banner1.Init(_container); TCM.Templates.v1.Components.Banner1.Init(_container); TCM.Templates.v1.Components.Carousel2.Init(_container); TCM.Templates.v1.Components.MediaGallery1.Init(_container); TCM.Templates.v1.Components.MediaGallery2.Init(_container); TCM.Templates.v1.Components.MediaGallery3.Init(_container); TCM.Templates.v1.Components.ModalVideo.Init(_container); TCM.Templates.v1.Components.SearchBar.Init(_container); TCM.Templates.v1.Components.Animation1000s.Init(_container); TCM.Templates.v1.Components.GoToTop.Init(_container); TCM.Templates.v1.Components.SideMenu.Init(_container); TCM.Templates.v1.Components.TGEMenu.Init(_container); TCM.Templates.v1.Components.Map.Init(_container); TCM.Templates.v1.Components.PageBlockVideo.Init(_container); TCM.Templates.v1.Components.PageBlockHighlightTestimony.Init(_container); TCM.Templates.v1.Components.PageBlockHighlightFeatures.Init(_container); TCM.Templates.v1.Components.PageBlockHightlightBackground.Init(_container); TCM.Templates.v1.Components.PageBlockHightlightGallery.Init(_container); TCM.Templates.v1.Components.PageBlockHighlightText.Init(_container); $.fn.tcmcInput.init(_container); $.fn.tcmcList.init(_container); TCM.Templates.v1.Components.AddressForm.Init(_container); TCM.Templates.v1.Components.ZipCodeSearch.Init(_container); TCM.Templates.v1.Components.SocialNetworksShare.Init(_container); TCM.Templates.v1.Components.CardDeck2.Init(_container); TCM.Templates.v1.Components.Autocomplete1.Init(_container); TCM.Templates.v1.Components.Intranet.PollBox.Init(_container); TCM.Templates.v1.Components.Intranet.WidgetPoll.Init(_container); TCM.Templates.v1.Components.TopN.Init(_container); $.fn.tcmcFormAutoLayout.init(_container); $.fn.tcmcIntranetPost.init(_container); $.fn.tcmcIntranetPostList.init(_container); $.fn.tcmcIntranetLink.init(_container); $.fn.tcmcIntranetPostForm.init(_container); $.fn.tcmcIntranetPostFormTab.init(_container); $.fn.tcmcIntranetFavoriteLinks.init(_container); $.fn.tcmcIntranetWidgetCalendar.init(_container); $.fn.tcmcFormDefault.init(_container); }; TCM.Templates.v1.Init = function (container) { TCM.Templates.v1.ContentAlert.Init(); TCM.Templates.v1.Components.Init(container); }; TCM.Templates.v1.ContentAlert = {}; TCM.Templates.v1.ContentAlert.Init = function () { $('#content-alert').on('hidden.bs.modal', function (e) { if ($('#content-alert-can-dismiss:checked').length) TCM.Content.Alert.Dismiss($('#content-alert-can-dismiss:checked').val()); $('#content-alert').remove(); }); $('#content-alert').modal('show'); }; //Checkout TCM.Templates.v1.Checkout = {}; TCM.Templates.v1.Checkout.Init = function () { $(document).ready(function () { $('[data-toggle="tooltip"]').tooltip(); var countryField = $('[data-field=delivery-country]', '.checkout'); var zipCodeField = $('[data-field=delivery-zipcode]', '.checkout'); var streetField = $('[data-field=delivery-street]', '.checkout'); var districtField = $('[data-field=delivery-district]', '.checkout'); var cityField = $('[data-field=delivery-city]', '.checkout'); var provinceField = $('[data-field=delivery-province]', '.checkout'); var zipCodeSearchBtn = $('[data-toggle=search-delivery-zipcode]', '.checkout'); var fnSearchZipCode = function () { TCM.Location.ZipCode.Get(countryField.val(), zipCodeField.val(), function (rt) { if (rt & rt.Status && rt.Data) { streetField.val(rt.Data.Street); districtField.val(rt.Data.District); cityField.val(rt.Data.City.Name); provinceField.val(rt.Data.Province.ShortName); } else { streetField.val(''); districtField.val(''); cityField.val(''); provinceField.val(''); } }); }; zipCodeSearchBtn.on('click', function (event) { event.preventDefault(); fnSearchZipCode(); }); zipCodeField.on('change', function (event) { fnSearchZipCode(); }); if (countryField.val() & zipCodeField.val()) fnSearchZipCode(); }); }; TCM.Templates.v1.Components.Intranet = {}; TCM.Templates.v1.Intranet = {}; TCM.Templates.v1.Intranet.Constants = {}; TCM.Templates.v1.Intranet.Themes = []; TCM.Templates.v1.Intranet.ShowError = function (rt, stopLoading) { if (stopLoading) TCM.UI.Loading.Stop(); var isHtml = false; var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.HtmlMessage) { msg = rt.HtmlMessage; isHtml = true; } else if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg, Small: msg.length < 200, IsHtml: isHtml }); }; TCM.Templates.v1.Intranet.Init = function (container) { TCM.Templates.v1.Intranet.Constants = JSON.parse($('#tcm-intranet-constants').html()); TCM.Templates.v1.Intranet.Themes = JSON.parse($('#tcm-intranet-themes').html()); TCM.Templates.v1.Intranet.UI.Init(container); TCM.Templates.v1.Intranet.Timeline.Init(); // TODO: mover para canal $('.intranet-community-detail-list.fixed-height', container || window.document).mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal-dark" }); }; (function ($) { openFavoriteLinkModal = function (elm, sender) { var modalID = elm.attr('id') + '-modal'; var parentSender = sender.closest('[data-id]'); var id = parentSender.attr('data-id'); var name = parentSender.attr('data-name') || $(document).find("title").text(); var url = parentSender.attr('data-url') || sender.attr('data-path'); $('.intranet-favorite-link-name', '#' + modalID).val(name); $('.intranet-favorite-link-url', '#' + modalID).val(url); $('.intranet-favorite-link-id', '#' + modalID).val(id); var zIndex = 1040 + (10 * $('.modal:visible').length); // Número mágico, se trocar no CSS para de funcionar aqui $('#' + modalID).modal('show').css('z-index', zIndex + 2); setTimeout(function () { $('.modal-backdrop').last().not('.modal-stack').css('z-index', zIndex + 1).addClass('modal-stack'); }, 0); }; initFavoriteLink = function (elm, tr) { $('[data-toggle=remove-favorite-link]', tr).on('click', function (event) { event.preventDefault(); var id = $(this).closest('[data-id]').attr('data-id'); elm.trigger('tcmcIntranetFavoriteLink:removeLink', [{ action: 'RemoveLink', id: id }]); }); $('[data-toggle=edit-favorite-link]', tr).on('click', function (event) { event.preventDefault(); openFavoriteLinkModal(elm, $(this)); }); // TODO: REVISAR SE FICA AQUI //$('.component-favorite-links-table-modal tbody').sortable({ // stop: function () { // var items = []; // $('tr', this).each(function () { // var id = $(this).attr('data-id'); // items.push(id); // }); // elm.trigger('tcmcIntranetFavoriteLink:reorderLinks', [{ // action: 'ReorderLinks', // items: items // }]); // } //}); //$('.component-favorite-links-table-modal tbody').disableSelection(); }; var methods = { init: function (options) { this.each(function (index, item) { var $item = $(item); var listModal = $item.find('.tcm-component-intranet-favorite-links-list-modal'); var formModal = $item.find('.tcm-component-intranet-favorite-links-modal'); var tbody = listModal.find('.component-favorite-links-table-modal').find('tbody'); tbody.find('tr').each(function () { initFavoriteLink($item, $(this)); }); tbody.sortable({ stop: function () { var items = []; $('tr', this).each(function () { var id = $(this).attr('data-id'); items.push(id); }); $item.trigger('tcmcIntranetFavoriteLink:reorderLinks', [{ action: 'ReorderLinks', items: items }]); } }).disableSelection(); formModal.find('.tcm-intranet-button-favorite-link-save').on('click', function () { var form = $(this).closest('form'); var id = $('.intranet-favorite-link-id', form).val(); var name = $('.intranet-favorite-link-name', form).val(); var url = $('.intranet-favorite-link-url', form).val(); var validateFields = []; if (!name || !name.trim()) validateFields.push({ Name: 'content.name', Message: TCM.Globalization.Translates.ContentIsRequired }); if (!url || !url.trim()) validateFields.push({ Name: 'content.url', Message: TCM.Globalization.Translates.ContentIsRequired }); if (validateFields.length > 0) { $item.trigger('tcmcIntranetFavoriteLink:errorSaveLink', [{ action: 'ValidateFavoriteLinks', fields: validateFields }]); return; } else { $item.trigger('tcmcIntranetFavoriteLink:saveLink', [{ action: 'SaveLink', id: id, name: name, url: url }]); } }); $item.find('[data-toggle=add-favorite-link]').on('click', function (event) { event.preventDefault(); openFavoriteLinkModal($item, $(this)); }); $item.find('[data-toggle=manage-favorite-links]').on('click', function (event) { event.preventDefault(); var modalID = $item.attr('id') + '-list-modal'; $('#' + modalID).modal('show'); }); listModal.appendTo('body'); formModal.appendTo('body'); }); return this; }, closeListModal: function () { this.each(function (index, item) { var $item = $(item); var modal = $('#' + $item.attr('id') + '-list-modal'); modal.modal('hide'); }); }, closeFormModal: function () { this.each(function (index, item) { var $item = $(item); var modal = $('#' + $item.attr('id') + '-modal'); modal.modal('hide'); }); }, load: function (options) { var opts = $.extend({ items: [] }, options); this.each(function (index, item) { var $item = $(item); var listModal = $('#' + $item.attr('id') + '-list-modal'); $item.find('.component-favorite-links-list-widget').empty(); listModal.find('.component-favorite-links-table-modal tbody').empty(); $(opts.items).each(function (linkIndex, link) { // li var liWidget = $($item.find('[data-field=template-li]').html()); var target = '_blank'; var baseUrl = window.location.origin.toLowerCase() + TCM.RootPath; if (baseUrl.endsWith('/')) baseUrl = baseUrl.substr(0, baseUrl.length - 1); if (link.Url.startsWith('/') || link.Url.toLowerCase() === baseUrl || link.Url.toLowerCase().startsWith(baseUrl + '/')) target = '_self'; liWidget.find('a').attr('href', link.Url); liWidget.find('a').attr('target', target); liWidget.find('a').find('span').text(link.Name); liWidget.attr('data-id', link.ID); $item.find('.component-favorite-links-list-widget').append(liWidget); // tr var trModal = $($item.find('[data-field=template-tr]').html()); trModal.attr('data-id', link.ID); trModal.attr('data-name', link.Name); trModal.attr('data-url', link.Url); trModal.find('.component-favorite-links-table-modal-name').text(link.Name); trModal.find('.component-favorite-links-table-modal-url').text(link.Url); listModal.find('.component-favorite-links-table-modal tbody').append(trModal); initFavoriteLink($item, trModal); }); if (opts.items.length) { $item.find('.component-favorite-links-empty').hide(); listModal.find('.component-favorite-links-empty').hide(); } else { $item.find('.component-favorite-links-empty').show(); listModal.find('.component-favorite-links-empty').show(); } }); return this; } }; $.fn.tcmcIntranetFavoriteLinks = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetFavoriteLinks.defaults = { }; $.fn.tcmcIntranetFavoriteLinks.init = function (container) { $('.tcm-component-intranet-favorite-links-1', container || window.document).tcmcIntranetFavoriteLinks(); }; }(jQuery)); TCM.Templates.v1.Components.Intranet.PollBox = {}; TCM.Templates.v1.Components.Intranet.PollBox.Init = function (container) { var _container = container || window.document; $('.tcm-component-intranet-poll-box-1', _container).each(function () { var elm = $(this); $('[data-toggle=poll-show-results]', elm).on('click', function (event) { event.preventDefault(); elm.addClass('loading'); $('.tcm-component-intranet-poll-box-1-tab-vote', elm).fadeOut('slow', function () { $('.tcm-component-intranet-poll-box-1-tab-results', elm).fadeIn('slow', function () { elm.closest('.tcm-component-intranet-widget-poll-1').slick('setPosition'); elm.removeClass('loading'); }); }); }); $('[data-toggle=poll-show-options]', elm).on('click', function (event) { event.preventDefault(); elm.addClass('loading'); $('.tcm-component-intranet-poll-box-1-tab-results', elm).fadeOut('slow', function () { $('.tcm-component-intranet-poll-box-1-tab-vote', elm).fadeIn('slow', function () { elm.closest('.tcm-component-intranet-widget-poll-1').slick('setPosition'); elm.removeClass('loading'); }); }); }); }); }; TCM.Templates.v1.Components.Intranet.PollBox.StartLoading = function (componentID) { $('#' + componentID).addClass('loading'); }; TCM.Templates.v1.Components.Intranet.PollBox.StopLoading = function (componentID) { $('#' + componentID).removeClass('loading'); }; TCM.Templates.v1.Components.Intranet.PollBox.CallBack = function (callbacks, container) { var _callbacks = { Any: undefined, Answer: undefined }; $.extend(_callbacks, callbacks); var call = function (data, items, showResultsFunction) { for (i = 0; i < items.length; i++) { var cb = _callbacks[items[i]]; if (cb !== undefined) { var rt = cb(data, showResultsFunction); if (rt === false) return false; } } return true; }; var _container = container || window.document; $('.tcm-component-intranet-poll-box-1', _container).each(function () { var elm = $(this); if (_callbacks.Any !== undefined || _callbacks.Answer) { $('[data-toggle=poll-submit]', elm).on('click', function (event) { event.preventDefault(); var radio = $(this) .closest('.tcm-component-intranet-poll-box-1-tab-vote') .find('input[type=radio]:checked'); if (radio.length === 0) { TCM.UI.MessageBox.Alert({ Message: TCM.Globalization.Translates.SelectAnOption, Title: TCM.Globalization.Translates.Warning }); return; } this.disabled = true; if (call({ Action: 'Answer', ComponentID: elm.attr('id'), PollID: radio.attr('data-poll-id'), PollOptionID: radio.val() }, ['Answer', 'Any'] , function (results) { var ul = elm.find('.tcm-component-intranet-poll-box-1-tab-results ul'); ul.find('li').remove(); $(results).each(function () { $('') .append( $('') .append($('').text(this.Percentage.toString() + '%')) .append($('').text(this.Text)) ) .append( $('').append( $('').css('width', this.Percentage.toString() + '%') ) ) .appendTo(ul); }); $('.tcm-component-intranet-poll-box-1-tab-vote', elm).fadeOut('slow', function () { $('.tcm-component-intranet-poll-box-1-tab-results', elm).fadeIn('slow', function () { $('[data-toggle=poll-show-results]', elm).show(); elm.closest('.tcm-component-intranet-widget-poll-1').slick('setPosition'); }); }); })) { // respondeu a enquete elm.attr('data-poll-vote-enabled', 'false'); $(this) .closest('.tcm-component-intranet-poll-box-1-tab-vote') .find('input[type=radio]') .each(function () { this.disabled = true; }); $(this).remove(); } }); } }); }; (function ($) { var methods = { init: function (options) { this.each(function (index, item) { var $item = $(item); $item.find('[data-toggle=tcm-intranet-post-form-select-type] .tcm-intranet-post-form-type').on('click', function (event) { event.preventDefault(); $item.find('.tcm-intranet-post-form-selected-type').text($(this).text()); var target = $(this).attr('data-target'); $item.find('.tcm-component-intranet-post-form-tab-1').hide(); $item.find('#' + target).show(); }); }); return this; } }; $.fn.tcmcIntranetPostForm = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetPostForm.defaults = { }; $.fn.tcmcIntranetPostForm.init = function (container) { $('.tcm-component-intranet-post-form-1', container || window.document).tcmcIntranetPostForm(); }; }(jQuery)); (function ($) { var htmlTrimEmptyParagraph = function (html) { var _body = ''; var _array = $(html).toArray(); for (var i = _array.length - 1; i >= 0; i--) { var $aux = $(_array[i]); if ($aux.is('p') & !$aux.text().trim()) _array.pop(); else break; } var _flag = false; for (var j = 0; j < _array.length; j++) { var $aux2 = $(_array[j]); if (!$aux2.is('p') || $aux2.text().trim() || _flag) { _body += $('').append($aux2).html(); _flag = true; } } return _body; }; var getFormData = function ($item) { var rt = {}; // Profile rt.profileID = $item.find('.post-form-selected-profile').attr('data-profile-id'); // Content rt.content = {}; if ($item.attr('data-post-type') === 'announcement') rt.content.title = $item.find('.tcm-component-intranet-post-form-title').val(); rt.content.body = htmlTrimEmptyParagraph($item.find('.tcm-component-intranet-post-form-content').trigger('updateckeditorvalue').html()); rt.content.media = []; $item.find('ul.tcm-intranet-post-form-gallery-list').find('li').each(function () { var obj = $(this).find('script').html(); if (obj) rt.content.media.push(JSON.parse(obj)); }); $item.find('.tcm-intranet-post-form-document-list-item').each(function () { var obj = $(this).find('script').html(); if (obj) rt.content.media.push(JSON.parse(obj)); }); // Theme var themeId = $item.find('.tcm-component-intranet-post-form-content-container').attr('data-theme-id') || '0'; if (themeId & themeId !== '0') { rt.content.themeId = themeId; rt.content.themeCssClass = $item.find('.tcm-component-intranet-post-form-content-container').attr('data-theme-css-class') || ''; } // Schedule if (($item.attr('data-schedule-mode') === 'optional' & $item.find('[data-toggle=tcm-component-intranet-post-form-schedule-opt]:checked').val() === 'show') || $item.attr('data-schedule-mode') === 'always') { rt.schedule = {}; rt.schedule.date = $item.find('.tcm-component-intranet-post-form-schedule-date').val(); rt.schedule.time = $item.find('.tcm-component-intranet-post-form-schedule-time').val(); rt.schedule.dateTime = TCM.Framework.ParseDate(rt.schedule.date + ' ' + rt.schedule.time); } // Data rt.data = JSON.parse($item.find('.tcm-component-intranet-post-form-data').html()); return rt; }; var validateForm = function ($item, _data) { var data = _data || getFormData($item); var rt = []; if ($item.attr('data-post-type') === 'announcement' & !data.content.title) rt.push({ Name: 'content.title', Message: TCM.Globalization.Translates.TitleIsRequired }); if (!$(data.content.body).text().trim()) rt.push({ Name: 'content.body', Message: TCM.Globalization.Translates.ContentIsRequired }); if ($item.attr('data-schedule-mode') === 'always') { if (!data.schedule || !data.schedule.date) rt.push({ Name: 'publishDate', Message: TCM.Globalization.Translates.PublishDateIsRequired }); if (!data.schedule || !data.schedule.time) rt.push({ Name: 'publishDate', Message: TCM.Globalization.Translates.PublishTimeIsRequired }); } else if ($item.attr('data-schedule-mode') === 'optional' & data.schedule) { if (!data.schedule.date) rt.push({ Name: 'publishDate', Message: TCM.Globalization.Translates.PublishDateIsRequired }); if (!data.schedule.time) rt.push({ Name: 'publishDate', Message: TCM.Globalization.Translates.PublishTimeIsRequired }); } return rt; }; //RemoveImage var initCreatePostRemoveImage = function (elm, li) { var ul = $('.tcm-intranet-post-form-gallery-list', elm); var container = $('.tcm-intranet-post-form-gallery-container', elm); $('[data-toggle=tcm-intranet-post-form-remove-media]', li).on('click', function () { $(this).closest('li').remove(); if ($('li', ul).length === 1) { ul.hide(); } scrollbar(container, ul); }); }; var scrollbar = function (container, ul) { container.mCustomScrollbar("destroy"); container.mCustomScrollbar({ autoHideScrollbar: true, axis: "x", theme: "minimal-dark" }); ul.sortable({ axis: "x", cursor: "move", tolerance: "intersect", items: "li:not(.tcm-intranet-post-form-gallery-list-add-link)", change: function (e, ui) { var h = ui.helper.outerHeight(true), elem = container.find('.mCustomScrollBox'), elemHeight = elem.height(), moveBy = container.find('li').outerHeight(true) * 3, mouseCoordsY = e.pageY - elem.offset().top; if (mouseCoordsY < h) { container.mCustomScrollbar("scrollTo", "+=" + moveBy); } else if (mouseCoordsY > elemHeight - h) { container.mCustomScrollbar("scrollTo", "-=" + moveBy); } } }); }; var initAddTempImageFromVideo = function (elm, input, validate) { var videoUrl = $(input).val(); var obj = TCM.Framework.ParseVideoUrl(videoUrl); var validateFields = []; if (validate & obj.Type === 'none') { validateFields.push({ Name: 'content.media.video', Message: TCM.Globalization.Translates.InvalidVideoUrl }); } if (validateFields.length > 0) { elm.trigger('tcmcIntranetPostFormTab:errorPostForm', [{ action: 'ValidatePostVideoUrl', fields: validateFields }]); return; } else { $.ajax({ url: TCM.RootPath + 'api/infrastructure/add-temp-image/' + obj.Type + '/' + obj.ID, type: 'POST', success: function (rt) { if (rt.Status) { var li = $($('#tcm-intranet-post-form-gallery-list-item-template').html()); li.find('.tcm-intranet-post-form-gallery-list-item-img').css('background-image', 'url("' + TCM.RootPath + 'api/infrastructure/transform-image/resize-max/image?width=500&height=500&imagePath=' + rt.FileName + '")'); li.attr('data-fileName', rt.FileName); li.find('script').html(JSON.stringify({ Type: obj.Type, FileName: rt.FileName, VideoID: rt.VideoID, IsNew: true })); var container = $('.tcm-intranet-post-form-gallery-container', elm); container.mCustomScrollbar("destroy"); var ul = $('.tcm-intranet-post-form-gallery-list', elm); var lastLi = $('.tcm-intranet-post-form-gallery-list-add-link', ul); li.insertBefore(lastLi); initCreatePostRemoveImage(elm, li); scrollbar(container, ul); ul.show(); elm.find('.tcm-component-intranet-post-form-video-btn').removeClass('active'); $(input).val(''); } else { if (validate) TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: TCM.Globalization.Translates.VideoNotFound }); } } }); } }; var initDocumentListItem = (elm, li) => { var ul = $('.tcm-intranet-post-form-document-list', elm); var container = $('.tcm-intranet-post-form-document-container', elm); $('[data-toggle=tcm-intranet-post-form-remove-document]', li).on('click', function (event) { event.preventDefault(); $(this).closest('li').remove(); if ($('li', ul).length === 1) { ul.hide(); } }); $('[data-toggle=tcm-intranet-post-form-edit-document]', li).on('click', function (event) { event.preventDefault(); var parent = $(this).closest('.tcm-intranet-post-form-document-list-item'); var inputText = parent.find('[data-field=TitleInput]'); var inputHidden = parent.find('[data-field=Title]'); inputText.val(inputHidden.val()); parent.attr('data-editing', 'true'); }); $('[data-toggle=tcm-intranet-post-form-edit-confirm-document]', li).on('click', function (event) { event.preventDefault(); var parent = $(this).closest('.tcm-intranet-post-form-document-list-item'); var label = parent.find('[data-field=TitleLabel]'); var inputText = parent.find('[data-field=TitleInput]'); var inputHidden = parent.find('[data-field=Title]'); if (inputText.val()) { inputHidden.val(inputText.val()); label.text(inputText.val()); // Atualiza script com os dados var _script = parent.find('script'); if (_script.html()) { var _obj = JSON.parse(_script.html()); _obj.Title = inputText.val(); _script.html(JSON.stringify(_obj)); } } parent.attr('data-editing', 'false'); }); $('[data-toggle=tcm-intranet-post-form-edit-cancel-document]', li).on('click', function (event) { event.preventDefault(); var parent = $(this).closest('.tcm-intranet-post-form-document-list-item'); parent.attr('data-editing', 'false'); }); }; // Submit form var onSubmit = function ($item, postType) { var fd = getFormData($item); var errors = validateForm($item, fd); if (errors.length > 0) { $item.trigger('tcmcIntranetPostFormTab:errorPostForm', [{ action: 'ValidatePost' + postType, fields: errors }]); } else { $item.trigger('tcmcIntranetPostFormTab:submitPostForm', [{ action: 'SubmitPost' + postType, data: fd.data, profileID: fd.profileID, content: fd.content, publishDate: (fd.schedule || {}).dateTime }]); } }; var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcIntranetPost.defaults, options); this.each(function (index, item) { var $item = $(item); if ($.fn.mask) TCM.Framework.ApplyInputMask($item); // Init Media List var containerMediaList = $item.find('.tcm-intranet-post-form-gallery-container'); var ulMediaList = $item.find('.tcm-intranet-post-form-gallery-list'); var liMediaList = $('li', ulMediaList); scrollbar(containerMediaList, ulMediaList); liMediaList.each((ielm, elm) => initCreatePostRemoveImage($item, $(elm))); liMediaList.disableSelection(); // Init Document List var containerDocumentList = $item.find('.tcm-intranet-post-form-document-container'); var ulDocumentList = $item.find('.tcm-intranet-post-form-document-list'); var liDocumentList = $('li', ulDocumentList); liDocumentList.each((ielm, elm) => initDocumentListItem($item, $(elm))); // SelectProfile $item.find('[data-toggle=tcm-intranet-post-form-select-profile]').on('click', function (event) { event.preventDefault(); var profileContainer = $(this).closest('.post-select-profile').find('.post-form-selected-profile'); profileContainer.html(''); var selectedProfile = $(this); selectedProfile.find('.tcm-component-intranet--link-1-avatar').clone().appendTo(profileContainer); $.each(['title', 'data-profile-id'], function () { var str = this.toString(); profileContainer.attr(str, selectedProfile.attr(str)); }); }); // Select Theme $item.find('[data-toggle=tcm-component-intranet-post-form-select-theme]').on('click', function (event) { event.preventDefault(); var newTheme = { id: $(this).attr('data-theme-id'), cssClass: $(this).attr('data-theme-css-class') }; var inputContainer = $item.find('.tcm-component-intranet-post-form-content-container'); var currentThemeCssClass = inputContainer.attr('data-theme-css-class'); if (currentThemeCssClass) inputContainer.removeClass(currentThemeCssClass); inputContainer.attr('data-theme-id', newTheme.id); inputContainer.attr('data-theme-css-class', newTheme.cssClass); inputContainer.addClass(newTheme.cssClass); }); // Media $item.find('[data-toggle=tcm-intranet-post-form-gallery-input]').on('change', function (event) { event.preventDefault(); if (!this.files.length) return; var $this = $(this); TCM.Templates.v1.Components.Manager.Show({ Files: this.files, Callback: function (rt) { $this.val(''); $(rt.SuccessItems).each(function () { var li = $($('#tcm-intranet-post-form-gallery-list-item-template').html()); li.find('.tcm-intranet-post-form-gallery-list-item-img').css('background-image', 'url("' + TCM.RootPath + 'api/infrastructure/transform-image/resize-max/image?width=500&height=500&imagePath=' + this.FileName + '")'); li.attr('data-fileName', this.FileName); li.find('script').html(JSON.stringify({ Type: 'image', FileName: this.FileName, IsNew: true })); var container = $('.tcm-intranet-post-form-gallery-container', $item); container.mCustomScrollbar("destroy"); var ul = $('.tcm-intranet-post-form-gallery-list', $item); var lastLi = $('.tcm-intranet-post-form-gallery-list-add-link', ul); li.insertBefore(lastLi); ul.show(); initCreatePostRemoveImage($item, li); scrollbar(container, ul); }); } }); }); // Document $item.find('[data-toggle=tcm-intranet-post-form-document-input]').on('change', function (event) { event.preventDefault(); if (!this.files.length) return; var $this = $(this); TCM.Templates.v1.Components.Manager.Show({ Files: this.files, Callback: (rt) => { $this.val(''); $(rt.SuccessItems).each((iobj, obj) => { var li = $($('#tcm-intranet-post-form-document-list-item-template').html()); li.find('[data-field=TitleLabel]').text(obj.Title); li.find('[data-field=TitleInput]').val(obj.Title); li.find('[data-field=Title]').val(obj.Title); li.find('[data-field=FileName]').val(obj.FileName); li.find('script').html(JSON.stringify({ Type: 'file', FileName: obj.FileName, Title: obj.Title, FileSize: obj.FileSize, IsNew: true })); var container = $('.tcm-intranet-post-form-document-container', $item); var ul = $('.tcm-intranet-post-form-document-list', $item); var lastLi = $('.tcm-intranet-post-form-document-list-add-link', ul); if (lastLi.length) li.insertBefore(lastLi); else li.appendTo(ul); ul.show(); initDocumentListItem($item, li); }); } }); }); // Paste Video URL $item.find('.tcm-component-intranet-post-form-video').on('paste', function (event) { var $this = this; setTimeout(function () { initAddTempImageFromVideo($item, $this, true); }, 100); }); // Type Video URL $item.find('.tcm-component-intranet-post-form-video').on('keydown', function (event) { var code = event.keyCode || event.which; if (code === 13) { initAddTempImageFromVideo($item, this, true); } }); // Change Schedule Type $item.find('[data-toggle=tcm-component-intranet-post-form-schedule-opt]').on('change', function (event) { event.preventDefault(); var schedulePostDiv = $item.find('.tcm-component-intranet-post-form-schedule'); if ($(this).val() === 'show') schedulePostDiv.show(); else schedulePostDiv.hide(); }); //SubmitPostDefault $item.find('[data-toggle=tcm-intranet-post-form-submit-default]').on('click', function (event) { event.preventDefault(); onSubmit($item, 'Default'); }); //SubmitPostAnnouncement $item.find('[data-toggle=tcm-intranet-post-form-submit-announcement]').on('click', function (event) { event.preventDefault(); onSubmit($item, 'Announcement'); }); }); return this; }, clearForm: function () { this.each(function (index, item) { var $item = $(item); // title $item.find('.tcm-component-intranet-post-form-title').val(''); // content $item.find('.tcm-component-intranet-post-form-content').trigger('clearvalue'); // gallery var galleryList = $item.find('ul.tcm-intranet-post-form-gallery-list'); $('li', galleryList).not('.tcm-intranet-post-form-gallery-list-add-link').remove(); galleryList.hide(); $item.find('.tcm-component-intranet-post-form-video').val(''); $item.find('.tcm-component-intranet-post-form-video-btn').removeClass('active'); // document var documentList = $item.find('ul.tcm-intranet-post-form-document-list'); $('li', documentList).not('.tcm-intranet-post-form-document-list-add-link').remove(); documentList.hide(); // schedule $item.find('.tcm-component-intranet-post-form-schedule-date').val(''); $item.find('.tcm-component-intranet-post-form-schedule-time').val(''); if ($item.attr('data-schedule-mode') === 'optional') $item.find('.tcm-component-intranet-post-form-schedule').hide(); $item.find('[data-toggle=tcm-component-intranet-post-form-schedule-opt]').each(function (optIndex) { this.checked = optIndex === 0; }); // theme var inputContainer = $item.find('.tcm-component-intranet-post-form-content-container'); var currentThemeCssClass = inputContainer.attr('data-theme-css-class'); if (currentThemeCssClass) inputContainer.removeClass(currentThemeCssClass); inputContainer.attr('data-theme-id', ''); inputContainer.attr('data-theme-css-class', ''); }); return this; } }; $.fn.tcmcIntranetPostFormTab = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetPostFormTab.defaults = { }; $.fn.tcmcIntranetPostFormTab.init = function (container) { $('.tcm-component-intranet-post-form-tab-1', container || window.document).tcmcIntranetPostFormTab(); }; }(jQuery)); (function ($) { var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcIntranetPostList.defaults, options); this.each(function (index, item) { var $item = $(item); var customData = $item.tcmcIntranetPostList('customData'); if ($item.find('.tcm-component-intranet-post-list-more-items').length) { var waypointDisabled = $item.attr('data-waypoint-start-disabled') === "true"; var waypoint = new Waypoint({ element: $item.find('.tcm-component-intranet-post-list-more-items')[0], offset: 'bottom-in-view', enabled: !waypointDisabled, handler: function (direction) { var _waypoint = this; if (direction === 'down') { $item.trigger('tcmcIntranetPostList:loore', [{ waypoint: _waypoint, data: customData, pageIndex: parseInt($item.attr('data-page-index')), endDate: $item.attr('data-end-date') }]); } } }); $item.data('tcmcIntranetPostList:waypoint', waypoint); } }); return this; }, customData: function (options) { var first = this.eq(0); var customData = JSON.parse(first.find('[data-json=true][data-component=post-list]').html()); return customData; }, addItems: function (options) { var opts = $.extend({ content: '', hasMoreItems: false }, options); this.each(function (index, item) { var $item = $(item); $(opts.content).each(function () { TCM.Templates.v1.Components.Init(this); $item.find('.tcm-component-intranet-post-list-items').append(this); $item.trigger('tcmcIntranetPostList:itemAdded', [{ item: this }]); }); if (!opts.hasMoreItems) { var waypoint = $item.data('tcmcIntranetPostList:waypoint'); if (waypoint) { waypoint.destroy(); $item.data('tcmcIntranetPostList:waypoint', undefined); } $item.find('.tcm-component-intranet-post-list-more-items').remove(); } Waypoint.refreshAll(); }); return this; }, enableWaypoint: function () { this.each(function (index, item) { var $item = $(item); var waypoint = $item.data('tcmcIntranetPostList:waypoint'); waypoint.enable(); }); }, disableWaypoint: function () { this.each(function (index, item) { var $item = $(item); var waypoint = $item.data('tcmcIntranetPostList:waypoint'); waypoint.disable(); }); } }; $.fn.tcmcIntranetPostList = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetPostList.defaults = { }; $.fn.tcmcIntranetPostList.init = function (container) { $('.tcm-component-intranet-post-list', container || window.document).tcmcIntranetPostList(); }; }(jQuery)); (function ($) { var htmlTrimEmptyParagraph = function (html) { var _body = ''; var _array = $(html).toArray(); for (var i = _array.length - 1; i >= 0; i--) { var $aux = $(_array[i]); if ($aux.is('p') & !$aux.text().trim()) _array.pop(); else break; } var _flag = false; for (var j = 0; j < _array.length; j++) { var $aux2 = $(_array[j]); if (!$aux2.is('p') || $aux2.text().trim() || _flag) { _body += $('').append($aux2).html(); _flag = true; } } return _body; }; var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcIntranetPost.defaults, options); this.each(function (index, item) { var $item = $(item); var customData = JSON.parse($item.find('[data-json=true][data-component=post]').html()); $item.find('[data-toggle="popover"]').popover(); // EditPost $item.find('[data-toggle=edit-post][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:editPost', [{ action: 'EditPost', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // DeletePost $item.find('[data-toggle=delete-post][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:deletePost', [{ action: 'DeletePost', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // CopyLink if (window['Clipboard'] & $item.find('[data-toggle=copy-link][data-url]').length) { new Clipboard($item.find('[data-toggle=copy-link][data-url]')[0], { text: function (trigger) { return trigger.getAttribute('data-url'); }, success: function (e) { $item.trigger('tcmcIntranetPost:copyLink', [{ action: 'CopyLink', postID: $(e.trigger).attr('data-post-id'), timelineID: $(e.trigger).attr('data-timeline-id'), url: e.text, data: customData }]); }, error: function () { $item.find('[data-toggle=copy-link][data-url]').addClass('disabled'); } }); } else $item.find('[data-toggle=copy-link][data-url]').addClass('disabled'); // PinPost $item.find('[data-toggle=pin-post][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:pinPost', [{ action: 'PinPost', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // UnpinPost $item.find('[data-toggle=unpin-post][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:unpinPost', [{ action: 'UnpinPost', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // Detail $item.find('[data-toggle=-detail][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:Detail', [{ action: 'Detail', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // Set $item.find('[data-toggle=set-][data--type][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:set', [{ action: 'Set', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), Type: $(this).attr('data--type'), data: customData }]); }); // Remove $item.find('[data-toggle=remove-][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:remove', [{ action: 'Remove', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // CommentDetail $item.find('[data-toggle=comment--detail][data-post-id][data-post-comment-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:commentDetail', [{ action: 'CommentDetail', postID: $(this).attr('data-post-id'), commentID: $(this).attr('data-post-comment-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // SetComment $item.find('[data-toggle=set-comment-][data--type][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:setComment', [{ action: 'SetComment', postID: $(this).attr('data-post-id'), commentID: $(this).attr('data-post-comment-id'), timelineID: $(this).attr('data-timeline-id'), Type: $(this).attr('data--type'), data: customData }]); }); // RemoveComment $item.find('[data-toggle=remove-comment-][data-post-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:removeComment', [{ action: 'RemoveComment', postID: $(this).attr('data-post-id'), commentID: $(this).attr('data-post-comment-id'), timelineID: $(this).attr('data-timeline-id'), data: customData }]); }); // ShowComments $item.find('[data-toggle=show-comments]').on('click', function (event) { event.preventDefault(); methods.showComments.apply($item, [{ focus: $(this).attr('data-input-focus') === 'true' }]); }); // ShowMoreComments $item.find('[data-toggle=show-more-comments]').on('click', function (event) { event.preventDefault(); methods.showMoreComments.apply($item, []); }); var fnInitNewCommentBox = function (_container) { // CreateComment _container.find('[data-toggle=create-comment][data-post-id]').on('click', function (event) { event.preventDefault(); var _parentBox = $(this).closest('.post-new-comment'); var _postID = $(this).attr('data-post-id'); var _timelineID = $(this).attr('data-timeline-id'); var _postCommentID = $(this).attr('data-post-comment-id') || null; var _body = htmlTrimEmptyParagraph(_parentBox.find('.create-comment-text').trigger('updateckeditorvalue').html()); var _profileID = _parentBox.find('.post-new-comment-profile[data-profile-id]').attr('data-profile-id'); var errors = []; if (!_body) { errors.push({ field: 'content.body', message: TCM.Globalization.Translates.ContentIsRequired }); } if (!_profileID) { errors.push({ field: 'profileID', message: TCM.Globalization.Translates.ProfileIsRequired }); } if (errors.length > 0) { $item.trigger('tcmcIntranetPost:error', [{ action: 'Error', items: errors }]); } else { $item.trigger('tcmcIntranetPost:createComment', [{ action: 'CreateComment', postID: _postID, timelineID: _timelineID, postCommentID: _postCommentID, content: { body: _body }, profileID: _profileID, data: customData }]); } }); // SelectCommentProfile _container.find('[data-toggle=select-comment-profile]').on('click', function (event) { event.preventDefault(); var profileContainer = $(this).closest('.post-new-comment').find('.post-new-comment-profile'); profileContainer.html(''); var selectedProfile = $(this); selectedProfile.find('.tcm-component-intranet--link-1-avatar').clone().appendTo(profileContainer); $.each(['title', 'data-profile-id'], function () { var str = this.toString(); profileContainer.attr(str, selectedProfile.attr(str)); }); }); }; fnInitNewCommentBox($item); // ReplyComment $item.find('[data-toggle=reply-comment][data-post-comment-id]').on('click', function (event) { event.preventDefault(); var container = $(this).closest('.commentary-box').find('.commentary-reply-container'); if (container.is('.commentary-reply-container-initialized')) { $item.find('.commentary-reply-container-initialized:visible').hide(); container.show(); } else { $item.find('.commentary-reply-container-initialized:visible').hide(); var mentionID = $(this).attr('data-mention--id'); var mentionFullName = $(this).attr('data-mention--fullname'); var template = $($item.find('[data-toggle=reply-comment-template]').html()); template.find('[data-toggle=create-comment][data-post-id]').attr('data-post-comment-id', $(this).attr('data-post-comment-id')); if (mentionID & mentionFullName) template.find('.create-comment-text') .append( $('').append( $('') .addClass('mention') .attr('data-mention', '@' + mentionFullName) .attr('data-object-id', mentionID) .attr('data-object-type', 'mention') .text('@' + mentionFullName) ).append(' ') ); TCM.Templates.v1.Components.Init(template); fnInitNewCommentBox(template); container.append(template); container.addClass('commentary-reply-container-initialized'); } //$item.trigger('tcmcIntranetPost:replyComment', [{ // action: 'ReplyComment', // postID: $(this).attr('data-post-id'), // commentID: $(this).attr('data-post-comment-id'), // timelineID: $(this).attr('data-timeline-id'), // mentionID: $(this).attr('data-mention--id'), // data: customData //}]); }); // EditComment $item.find('[data-toggle=edit-comment][data-post-id][data-post-comment-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:editComment', [{ action: 'EditComment', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), commentID: $(this).attr('data-post-comment-id'), data: customData }]); }); // DeleteComment $item.find('[data-toggle=delete-comment][data-post-id][data-post-comment-id]').on('click', function (event) { event.preventDefault(); $item.trigger('tcmcIntranetPost:deleteComment', [{ action: 'DeleteComment', postID: $(this).attr('data-post-id'), timelineID: $(this).attr('data-timeline-id'), commentID: $(this).attr('data-post-comment-id'), data: customData }]); }); // Hide content if ($item.attr('data-content-always-visible') !== 'true') { var visibleLines = 2; var linkCreated = false; $item.find('.post-text').children().each(function (ichild, child) { if (ichild === 0 & $(child).text().length > 100) visibleLines = 1; else if (ichild >= visibleLines) { $(child).hide(); if (!linkCreated) { var p = $('').addClass('post-text-show-more').text('... ').appendTo($item.find('.post-text')); $('').addClass('btn btn-link').text(TCM.Globalization.Translates.ShowMore).appendTo(p).on('click', function () { $(this).closest('.post-text').find(':not(:visible)').fadeIn(); $(this).closest('.post-text-show-more').remove(); $item.attr('data-content-always-visible', 'true'); }); linkCreated = true; } } }); } }); return this; }, clearComment: function () { this.find('.create-comment-text').trigger('clearvalue'); return this; }, showComments: function (options) { var opts = $.extend({ focus: false, scrollToCommentID: 0, showAllComments: false }, options); this.each(function (index, item) { var $item = $(item); $item.find('.post-comments').fadeIn('slow'); if (opts.focus) { $item.find('.create-comment-text').trigger('focus'); } if (opts.showAllComments) { $item.find('.post-commentary:not(:visible)').show(); $item.find('[data-toggle=show-more-comments]').remove(); } }); var $this = this; setTimeout(function () { var _top = $this.eq(0).find('.post-comments').offset().top; if (opts.scrollToCommentID) { _top = $this.eq(0).find('[data-comment-box=' + opts.scrollToCommentID + ']').offset().top || _top; } $('html, body').animate({ scrollTop: Math.max(0, _top - $('.intranet-top-bar').outerHeight(true)) }, 'slow'); }, 500); return this; }, showMoreComments: function () { var btn = $(this); this.each(function (index, item) { var $item = $(item); $item.find('.post-commentary:not(:visible):lt(5)').fadeIn('slow', function () { if (!$item.find('.post-commentary:not(:visible)').length) $item.find('[data-toggle=show-more-comments]').remove(); }); if (!$item.find('.post-commentary:not(:visible)').length) $item.find('[data-toggle=show-more-comments]').remove(); }); return this; }, hideComments: function () { this.find('.post-comments').fadeOut('slow'); return this; } }; $.fn.tcmcIntranetPost = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetPost.defaults = { }; $.fn.tcmcIntranetPost.init = function (container) { if ($(container).is('.tcm-component-intranet-post')) $(container).tcmcIntranetPost(); else $('.tcm-component-intranet-post', container || window.document).tcmcIntranetPost(); }; }(jQuery)); TCM.Templates.v1.Components.Intranet.ToolSearch = function (container) { var component = { container: window.document, options: { delay: 300, minLength: 3, requestType: 'post', source: null, sourceType: null, sourceParameter: null }, create: function (container) { this.container = (container || this.container); this.toolSearch = $('#toolSearch', this.container) this.toolSearchResult = $('.tool-search-result', this.container) this._setOptions(); this._initSource(); var self = this; this.toolSearch.on('keydown', function (event) { self._searchTimeout(event); }); }, _value: function () { return this.toolSearch.val(); }, _requestValue: function (value) { var output = new Object; output[this.options.sourceParameter] = value; return (this.options.requestType === 'get' ? output : JSON.stringify(output) ); }, _delay: function (handler, delay) { function handlerProxy() { return (typeof handler === 'string' ? instance[handler] : handler) .apply(instance, arguments); } var instance = this; return setTimeout(handlerProxy, delay); }, _setOptions: function () { if (this.toolSearch === undefined) return; this.options.delay = parseInt(this.toolSearch.data('delay') || this.options.delay); this.options.sourceType = (this.toolSearch.data('source-type') || this.options.sourceType); this.options.minLength = parseInt(this.toolSearch.data('min-length') || this.options.minLength); this.options.requestType = (this.toolSearch.data('request-type') || this.options.requestType); this.options.sourceParameter = (this.toolSearch.data('source-parameter') || this.options.sourceParameter); if (this.options.sourceType === 'external') { this.options.source = (this.toolSearch.data('source') || this.options.source); } else { var json = JSON.parse($('#tool-search-data-source', this.container).html() || '[]'); this.options.source = json; } }, _searchTimeout: function (event) { clearTimeout(this.searching); this.searching = this._delay(function () { var equalValues = this.term === this._value(); if (!equalValues) this._search(null, event); }, this.options.delay); }, _search: function (value, event) { value = value != null ? value : this._value(); this.term = this._value(); if (value.length < this.options.minLength) { this.toolSearchResult.empty(); this.toolSearchResult.removeClass('active'); return; } this.source({ value: value }, this._response()); }, _response: function () { return function (content) { this.__response(content); }.bind(this); }, __response: function (content) { var self = this; this.toolSearchResult.empty(); if (content === undefined || !$.isArray(content) || content.length <= 0) { var el = $(''); el.addClass('search-item'); $('h6', el).addClass('search-title').text('Nenhum resultado para a pesquisa...'); this.toolSearchResult.append(el); } else { $.each(content, function (index, item) { var el = $(''); var data = { title: (item.Title || item.title), imageUrl: (item.ImageUrl || item.imageUrl), imageClass: (item.ImageClass || item.imageClass), url: (item.Url || item.url) }; el.addClass('search-item'); $('a', el).attr('href', (data.url || '#')); if (data.imageUrl !== undefined) { $('i', el).remove(); $('img', el).addClass('search-icon').attr('src', data.imageUrl); } else { $('img', el).remove(); $('i', el).addClass(data.imageClass); } $('div', el).addClass('search-info'); $('h6', el).addClass('search-title').text(data.title); $.each((item.attributes || item.Attributes), function (index, attr) { var attrEl = $(''); attrEl.addClass('search-text'); attrEl.append(' ' + (attr.text || attr.Text)); $('i', attrEl).addClass(attr.iconClass || attr.IconClass); $('div', el).append(attrEl); }); self.toolSearchResult.append(el); }); } this.toolSearchResult.addClass('active'); }, _initSource: function () { var self = this; var array, url, type; if (this.options.sourceType === 'embeded' & $.isArray(this.options.source)) { array = this.options.source; this.source = function (request, response) { var attr = self.options.sourceParameter; response(array.filter(function (elem, idx, array) { return elem[attr].toLowerCase().indexOf(request.value.toLowerCase()) > -1; })); } } else if (this.options.sourceType === 'external' & typeof this.options.source === 'string') { url = this.options.source; type = this.options.requestType; this.source = function (request, response) { if (self.xhr) self.xhr.abort(); var requestData = self._requestValue(request.value); self.xhr = $.ajax({ url: url, type: type, data: requestData, contentType: 'application/json', success: function (data) { response(data); }, error: function () { response([]); } }); } } else { this.source = this.options.source; } } }; component.create(container); }; (function ($) { var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcIntranetLink.defaults, options); this.each(function (index, item) { var $item = $(item); if ($item.is('[data-popup=true]')) { // HTML copiado do site do bootstrap var _template = ''; var $template = $('' + _template + ''); $('').addClass('popover-body-custom').html($item.find('[data-template=true]').html()).insertAfter($template.find('.popover-body')); $template.find('.popover-header').remove(); $template.find('.popover-body').remove(); $item.find('[data-template=true]').remove(); _template = $template.html(); $item.popover({ trigger: 'click', template: _template, placement: 'auto' }).on('inserted.bs.popover', function () { $($item.data('bs.popover').getTipElement()).find('[data-toggle=dismiss]').on('click', function (event) { event.preventDefault(); $item.popover('hide'); }); }).on('shown.bs.popover', function () { $('.tcm-component-intranet--link-1-popover').each(function () { if (!$(this).is($item)) $(this).popover('hide'); }); }); $item.addClass('tcm-component-intranet--link-1-popover'); $item.find('a').on('click', function (event) { event.stopPropagation(); }); } }); return this; } }; $.fn.tcmcIntranetLink = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetLink.defaults = { }; $.fn.tcmcIntranetLink.init = function (container) { $('.tcm-component-intranet--link-1', container || window.document).tcmcIntranetLink(); }; }(jQuery)); (function ($) { var methods = { clearItems: function (options) { var opts = $.extend({}, { animated: false, callback: undefined }, options); this.each(function (index, item) { var $item = $(item); var items = $item.find('.tcm-component-intranet-widget-calendar-1-details .tcm-component-intranet-widget-calendar-1-event').toArray(); if (opts.animated) { var remove = function () { var obj = items.shift(); if (obj) { $(obj).animate({ height: 0, opacity: 0 }, function () { $(obj).remove(); remove(); }); } else { if ($.isFunction(opts.callback)) opts.callback({ element: $item }); } }; remove(); } else { $(items).remove(); if ($.isFunction(opts.callback)) opts.callback({ element: $item }); } }); return this; }, addItems: function (options) { var opts = $.extend({}, { items: [], animated: false, callback: undefined }, options); this.each(function (index, item) { var $item = $(item); var elements = []; $.each(opts.items, function () { var div = $($item.find('[data-field=item-template]').html()); div.find('[data-field=item-title]').text(this.title || ''); var fnShow = function (field, value) { if (value) div.find('[data-field=item-' + field + ']').text(value); else div.find('[data-field=item-' + field + ']').parent().remove(); }; fnShow('location', this.location); fnShow('start-date', this.startDate); fnShow('start-time', this.startTime); fnShow('end-date', this.endDate); fnShow('end-time', this.endTime); fnShow('duration', this.duration); elements.push(div); }); if (opts.animated) { var add = function () { var obj = elements.shift(); if (obj) { $(obj).appendTo($item.find('.tcm-component-intranet-widget-calendar-1-details')) .animate({ opacity: 1 , height: 112 }, function () { $(obj).css('height', 'auto'); add(); }); } else { if ($.isFunction(opts.callback)) opts.callback({ element: $item }); } }; $(elements).each(function () { this.css('opacity', 0).css('height', 0); }); add(); } else { $(elements).each(function () { this.appendTo($item.find('.tcm-component-intranet-widget-calendar-1-details')); }); if ($.isFunction(opts.callback)) opts.callback({ element: $item }); } }); return this; }, markDays: function (options) { var opts = $.extend({}, { days: [] }, options); this.each(function (index, item) { var $item = $(item); // remove todas as marcas $item.find('.tcm-component-intranet-widget-calendar-1-monthdays') .find('li').removeClass('tcm-component-intranet-widget-calendar-1-event-day'); // adiciona marcas $.each(opts.days, function () { var key = TCM.Framework.FormatDateTime(this, 'yyyy-MM-dd'); $item.find('.tcm-component-intranet-widget-calendar-1-monthdays') .find('li[data-key=' + key + ']') .addClass('tcm-component-intranet-widget-calendar-1-event-day'); }); }); return this; }, selectDay: function (options) { var opts = $.extend({}, { day: undefined }, options); this.each(function (index, item) { var $item = $(item); // remove todas as marcas $item.find('.tcm-component-intranet-widget-calendar-1-monthdays') .find('li').removeClass('tcm-component-intranet-widget-calendar-1-selected-day'); // seleciona if (opts.day) { var key = TCM.Framework.FormatDateTime(opts.day, 'yyyy-MM-dd'); $item.find('.tcm-component-intranet-widget-calendar-1-monthdays') .find('li[data-key=' + key + ']') .addClass('tcm-component-intranet-widget-calendar-1-selected-day'); } $item.data('selectedDay', opts.day); }); return this; }, getCalendarStartDate: function () { return this.eq(0).data('calendarStartDate'); }, getCalendarEndDate: function () { return this.eq(0).data('calendarEndDate'); }, init: function (options) { var opts = $.extend({}, $.fn.tcmcIntranetWidgetCalendar.defaults, options); this.each(function (index, item) { var $item = $(item); var settings = $.extend({} , { CurrentDate: new Date(), MinDate: undefined, MaxDate: undefined } , JSON.parse($item.find('script[data-field=settings]').html()) ); settings.CurrentDate = new Date(settings.CurrentDate); if (settings.MinDate) settings.MinDate = new Date(settings.MinDate); if (settings.MaxDate) settings.MaxDate = new Date(settings.MaxDate); var month = new Date(settings.CurrentDate); month.setUTCDate(1); var loonth = function () { $item.find('.tcm-component-intranet-widget-calendar-1-title-text').text(TCM.Globalization.DateTimeFormat.MonthNames[month.getUTCMonth()] + ' ' + month.getUTCFullYear()); var startDate = new Date(month); startDate.setUTCDate(1); while (startDate.getUTCDay() > 0) startDate.setUTCDate(startDate.getUTCDate() - 1); var endDate = new Date(startDate); endDate.setUTCDate(endDate.getUTCDate() + (6 /*semanas*/ * 7 /*dias*/) - 1); $item.find('.tcm-component-intranet-widget-calendar-1-monthdays').find('li').remove(); var dt = new Date(startDate); while (dt <= endDate) { var isCurrentMonth = dt.getUTCMonth() === month.getUTCMonth() & dt.getUTCFullYear() === month.getUTCFullYear(); var li = $(''); if (!isCurrentMonth) li.addClass('tcm-component-intranet-widget-calendar-1-other-month'); if (dt.getUTCDate() === settings.CurrentDate.getUTCDate() & dt.getUTCMonth() === settings.CurrentDate.getUTCMonth() && dt.getUTCFullYear() === settings.CurrentDate.getUTCFullYear()) li.addClass('tcm-component-intranet-widget-calendar-1-today'); li.text(dt.getUTCDate()); li.appendTo($item.find('.tcm-component-intranet-widget-calendar-1-monthdays')); li.attr('data-key', TCM.Framework.FormatDateTime(dt, 'yyyy-MM-dd')); li.data('day', new Date(dt)); li.data('isCurrentMonth', isCurrentMonth); li.on('click', function (event) { event.preventDefault(); if ($(this).hasClass('tcm-component-intranet-widget-calendar-1-selected-day')) return; $item.trigger('tcmcIntranetWidgetCalendar:dayClicked', [{ month: month, day: $(this).data('day'), isCurrentMonth: $(this).data('isCurrentMonth'), calendarStartDate: startDate, calendarEndDate: endDate, dayMarked: $(this).hasClass('tcm-component-intranet-widget-calendar-1-event-day') }]); }); dt.setUTCDate(dt.getUTCDate() + 1); } if (settings.MinDate & month <= settings.MinDate) $item.find('[data-toggle=previous-month]').addClass('tcm-component-intranet-widget-calendar-1-disabled'); else $item.find('[data-toggle=previous-month]').removeClass('tcm-component-intranet-widget-calendar-1-disabled'); if (settings.MaxDate & month >= settings.MaxDate) $item.find('[data-toggle=next-month]').addClass('tcm-component-intranet-widget-calendar-1-disabled'); else $item.find('[data-toggle=next-month]').removeClass('tcm-component-intranet-widget-calendar-1-disabled'); $item.data('month', month); $item.data('calendarStartDate', startDate); $item.data('calendarEndDate', endDate); $item.trigger('tcmcIntranetWidgetCalendar:monthChanged', [{ month: month, calendarStartDate: startDate, calendarEndDate: endDate }]); }; loonth(); $item.find('[data-toggle=next-month]').on('click', function (event) { event.preventDefault(); month.setUTCMonth(month.getUTCMonth() + 1); loonth(); }); $item.find('[data-toggle=previous-month]').on('click', function (event) { event.preventDefault(); month.setUTCMonth(month.getUTCMonth() - 1); loonth(); }); }); return this; } }; $.fn.tcmcIntranetWidgetCalendar = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcIntranetWidgetCalendar.defaults = { }; $.fn.tcmcIntranetWidgetCalendar.init = function (container) { $('.tcm-component-intranet-widget-calendar-1', container || window.document).tcmcIntranetWidgetCalendar(); }; }(jQuery)); TCM.Templates.v1.Components.Intranet.WidgetPoll = {}; TCM.Templates.v1.Components.Intranet.WidgetPoll.Init = function (container) { var _container = container || window.document; $('.tcm-component-intranet-widget-poll-1', _container).each(function () { var elm = $(this); // Slick elm.slick({ dots: false, adaptiveHeight: true, fade: true }); }); }; TCM.Templates.v1.Intranet.BirthdaysInit = function () { setTimeout(function () { $('html, body').scrollTop(0); }, 100); function loadNextBirthdays() { var waypoint = new Waypoint({ element: $('#birthdays-list')[0], offset: 'bottom-in-view', handler: function (direction) { var _waypoint = this; if (direction === 'down') { var aux = $('li:not(:visible)', '#birthdays-list'); if (aux.length) { _waypoint.disable(); $('#birthdays-loading').show(); var _s = $('li:not(:visible):lt(5)', '#birthdays-list'); _s.fadeIn(); $('#birthdays-loading').hide(); _waypoint.enable(); } else { _waypoint.destroy(); } } } }); } loadNextBirthdays(); }; TCM.Templates.v1.Intranet.CommunityCreateInit = function () { var fadeTime = 1; // ROUTES jHash.route('home', function () { $('.intranet-community-create-tab:visible').fadeOut(fadeTime, function () { $('.intranet-community-create-tab-type').fadeIn(fadeTime, function () { }); }); } ); jHash.route('official', function () { $('.intranet-community-create-tab:visible').fadeOut(fadeTime, function () { $('.intranet-community-create-tab-official').fadeIn(fadeTime, function () { }); }); } ); jHash.route('public', function () { $('.intranet-community-create-tab:visible').fadeOut(fadeTime, function () { $('.intranet-community-create-tab-public').fadeIn(fadeTime, function () { }); }); } ); jHash.route('private', function () { $('.intranet-community-create-tab:visible').fadeOut(fadeTime, function () { $('.intranet-community-create-tab-private').fadeIn(fadeTime, function () { }); }); } ); jHash.route('secret', function () { $('.intranet-community-create-tab:visible').fadeOut(fadeTime, function () { $('.intranet-community-create-tab-secret').fadeIn(fadeTime, function () { }); }); } ); if (window.location.hash === '#home') jHash.clear(); else jHash.processRoute(); fadeTime = 'slow'; TCM.Templates.v1.Intranet.CommunityCreate('public'); TCM.Templates.v1.Intranet.CommunityCreate('private'); TCM.Templates.v1.Intranet.CommunityCreate('secret'); TCM.Templates.v1.Intranet.CommunityCreate('official'); $("#intranet-community-create-official-groups-search").on('autocompleteselect', function (event, ui) { var box = $(this).closest('.intranet-default-container'); var hasGroup = false; $('#intranet-community-create-official-groups-list li').each(function () { var groupID = $(this).attr('data-role-id'); if (groupID === ui.item.Data.ID) hasGroup = true; }); if (hasGroup === false) { var li = $($('#intranet-roles-community-create-official-template').html()); li.find('.tcm-component-intranet--link-1-fullname').text(ui.item.Title); li.attr('data-role-id', ui.item.Data.ID); li.find('[data-field=roleID]').val(ui.item.Data.ID); initRemoveRolesCreateOfficialCommunity(li); li.appendTo('#intranet-community-create-official-groups-list'); } }); var initRemoveRolesCreateOfficialCommunity = function (container) { $('[data-toggle=intranet-community-create-official-remove-role]', container).on('click', function () { $(this).closest('li').remove(); }); }; initRemoveRolesCreateOfficialCommunity(window.document); }; TCM.Templates.v1.Intranet.CommunityDetailMemberInit = function () { $('[data-toggle=tcm-intranet-community-leave]').on('click', function (event) { event.preventDefault(); var msg = $(this).attr('data-message-confirm'); if (msg) { TCM.UI.MessageBox.Confirm({ Title: TCM.Globalization.Translates.Warning, Message: msg, YesCallback: function () { TCM.UI.Loading.Start(); TCM.Intranet.Community.Leave({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { if (rt & rt.Status) { window.location = rt.RedirectUrl || TCM.RootPath; } else TCM.Templates.v1.Intranet.ShowError(rt, true); } }); } }); } }); // ============================================================================================================== // Invite s // ============================================================================================================== const $modalInvites = $('#intranet-community-detail-invite-s-modal'); const $buttonInvites = $modalInvites.find('[data-toggle=invite-s]'); const $ulInvites = $('#intranet-community-detail-invite-s-list'); $modalInvites.on('hidden.bs.modal', function (event) { $('#intranet-community-detail-invite-s-search').val(''); $ulInvites.find('li').remove(); $buttonInvites.attr('disabled', true); }); $("#intranet-community-detail-invite-s-search").on('autocompleteselect', function (event, ui) { var = ui.item.Data.; if (!$ulInvites.find(`li[data--id="${.ID}"]`).length) { $('#intranet-community-detail-invite-s-search').val(''); var li = $($('#intranet-community-detail-invite-s-template').html()); li.attr('data--id', .ID); if (.ImageUrl) { li.find('.list-').eq(1).remove(); li.find('.tcm-component-intranet--link-1-avatar').css('background-image', 'url(' + .ImageUrl + ')'); } else li.find('.list-').eq(0).remove(); li.find('a.tcm-component-intranet--link-1').attr('href', .ProfileUrl); li.find('.tcm-component-intranet--link-1-fullname').text(.FullName); li.find('[data-field=ID]').val(.ID); li.find('[data-toggle="tooltip"]').tooltip(); li.find('[data-toggle=tcm-intranet-community-remove-]').on('click', function (event) { event.preventDefault(); li.remove(); if (!$ulInvites.find('li').length) $buttonInvites.attr('disabled', true); }); li.appendTo($ulInvites); $buttonInvites.removeAttr('disabled'); } }); $buttonInvites.on('click', function (event) { event.preventDefault(); const communityID = parseInt($('#intranet-community-detail-id').val()); const s = $ulInvites.find('li[data--id]').map((i, obj) => parseInt($(obj).attr('data--id'))).toArray(); const box = $modalInvites.find('.modal-content'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.CreateInviteNotification({ CommunityID: communityID, s: s, Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { const msg = s.length === 1 ? TCM.Globalization.Translates.InviteSuccessfullyed : TCM.Globalization.Translates.InvitesSuccessfullyed; $modalInvites.modal('hide'); TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg, Small: true }); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; TCM.Templates.v1.Intranet.CommunityDetailNonMemberInit = function () { $('[data-toggle=tcm-intranet-community-]').on('click', function (event) { event.preventDefault(); var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { TCM.UI.Loading.Start(); window.location.reload(true); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); $('[data-toggle=tcm-intranet-community-request-access]').on('click', function (event) { event.preventDefault(); var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.RequestAccess({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { TCM.UI.Loading.Start(); window.location.reload(true); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); $('[data-toggle=tcm-intranet-community-accept-invite]').on('click', function (event) { event.preventDefault(); var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.AcceptInvite({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { TCM.UI.Loading.Start(); window.location.reload(true); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); $('[data-toggle=tcm-intranet-community-reject-invite]').on('click', function (event) { event.preventDefault(); var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.RejectInvite({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { TCM.UI.Loading.Start(); window.location = rt.RedirectUrl || TCM.RootPath; } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; TCM.Templates.v1.Intranet.CommunityDetailInit = function () { var initAcceptAndRejectInvite = function (container) { $('[data-toggle=tcm-intranet-community-accept-invite],[data-toggle=tcm-intranet-community-reject-invite]', container).on('click', function (event) { event.preventDefault(); var $this = $(this); var box = $this.closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.SetAccepted({ CommunityID: $('#intranet-community-detail-id').val(), ID: $this.closest('.intranet-community-detail-tab--invite-item').find('[data-field=ID]').val(), Accepted: $this.attr('data-toggle') === 'tcm-intranet-community-accept-invite', Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { $this.closest('.intranet-community-detail-tab--invite-item').remove(); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; initAcceptAndRejectInvite(window.document); $("#intranet-community-detail-tab--invites-search").on('autocompleteselect', function (event, ui) { var ID = ui.item.Data.ID; var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.CreateInvite({ CommunityID: $('#intranet-community-detail-id').val(), ID: ID, Callback: function (rt) { TCM.UI.Loading.StopBox(box); $('#intranet-community-detail-tab--invites-search').val(''); if (rt & rt.Status) { var li = $($('#intranet-community-detail-tab--invites-template').html()); if (rt..ImageUrl) { li.find('.list-').eq(1).remove(); li.find('.tcm-component-intranet--link-1-avatar').css('background-image', 'url(' + rt..ImageUrl + ')'); } else li.find('.list-').eq(0).remove(); li.find('a.tcm-component-intranet--link-1').attr('href', rt..ProfileUrl); li.find('.tcm-component-intranet--link-1-fullname').text(rt..FullName); li.find('[data-field=ID]').val(rt..ID); li.find('[data-toggle="tooltip"]').tooltip(); initAcceptAndRejectInvite(li); li.appendTo('#intranet-community-detail-tab--invites-list'); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); $('#submit-form-intranet-community-edit').on('click', function (e) { e.preventDefault(); var form = $('#form-intranet-community-edit'); if (!form.valid()) return; var communityId = $('#intranet-community-detail-id').val(); var name = $('#intranet-community-edit-name').val(); var categoryID = $('#intranet-community-edit-categoryID').val(); var description = $('#intranet-community-edit-description').val(); var coverPhoto = $('#intranet-community-edit-cover-photo').val(); TCM.UI.Loading.Start(); TCM.Intranet.Community.Update({ CommunityID: communityId, Name: name, CategoryID: categoryID, Description: description, CoverPhoto: coverPhoto, Callback: function (rt) { if (rt.Status) { window.location.reload(); } else { TCM.UI.Loading.Stop(); var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); var initRemoveManager = function (container) { $('[data-toggle=tcm-intranet-community-remove-manager]', container).on('click', function (event) { event.preventDefault(); var $this = $(this); var box = $this.closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.RemoveManager({ CommunityID: $('#intranet-community-detail-id').val(), ID: $this.closest('.intranet-community-detail-tab--manager-item').find('[data-field=ID]').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { $this.closest('.intranet-community-detail-tab--manager-item').remove(); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; initRemoveManager(window.document); $("#intranet-community-detail-tab--managers-search").on('autocompleteselect', function (event, ui) { var ID = ui.item.Data.ID; var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.AddManager({ CommunityID: $('#intranet-community-detail-id').val(), ID: ID, Callback: function (rt) { TCM.UI.Loading.StopBox(box); $('#intranet-community-detail-tab--managers-search').val(''); if (rt & rt.Status) { var li = $($('#intranet-community-detail-tab--managers-template').html()); if (rt..ImageUrl) { li.find('.list-').eq(1).remove(); li.find('.tcm-component-intranet--link-1-avatar').css('background-image', 'url(' + rt..ImageUrl + ')'); } else li.find('.list-').eq(0).remove(); li.find('a.tcm-component-intranet--link-1').attr('href', rt..ProfileUrl); li.find('.tcm-component-intranet--link-1-fullname').text(rt..FullName); li.find('[data-field=ID]').val(rt..ID); li.find('[data-toggle="tooltip"]').tooltip(); initRemoveManager(li); li.appendTo('#intranet-community-detail-tab--managers-list'); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); var seach = function () { var q = $('#intranet-community-detail-tab---search').val().trim(); if (q) { var regex = q.toRegex('i'); $('.intranet-community-detail-tab--member-item', '#intranet-community-detail-tab---list').hide().each(function () { var value = $(this).attr('data-value'); if (regex.test(value)) $(this).show(); }); } else $('.intranet-community-detail-tab--member-item', '#intranet-community-detail-tab---list').show(); }; var seachTimeout = 0; $('#intranet-community-detail-tab---search').on('keypress keydown paste', function () { clearTimeout(seachTimeout); seachTimeout = setTimeout(seach, 500); }); $('[data-toggle=tcm-intranet-community-remove-member]').on('click', function (event) { event.preventDefault(); var $this = $(this); var box = $this.closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.RemoveMember({ CommunityID: $('#intranet-community-detail-id').val(), ID: $this.closest('.intranet-community-detail-tab--member-item').find('[data-field=ID]').val(), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { $this.closest('.intranet-community-detail-tab--member-item').remove(); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); $('#intranet-community-detail-tab--delete-btn').on('click', function (event) { event.preventDefault(); var form = $(this).closest('form'); if (!form.valid()) { TCM.UI.MessageBox.ValidationSummary({ AlertParams: { Title: TCM.Globalization.Translates.Warning }, Container: form }); return; } var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.Delete({ CommunityID: $('#intranet-community-detail-id').val(), Callback: function (rt) { if (rt & rt.Status) { TCM.UI.Loading.Start(); window.location = rt.RedirectUrl || TCM.RootPath; } else { TCM.UI.Loading.StopBox(box); var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); var initRemoveRolesUpdateOfficialCommunity = function (container) { $('[data-toggle=intranet-community-update-official-remove-role]', container).on('click', function (event) { event.preventDefault(); var $this = $(this); var box = $this.closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.RemoveRole({ CommunityID: $('#intranet-community-detail-id').val(), RoleID: $this.closest('li').attr('data-role-id'), Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & rt.Status) { $this.closest('li').remove(); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; $("#intranet-community-update-official-groups-search").on('autocompleteselect', function (event, ui) { var roleID = ui.item.Data.ID; var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.AddRole({ CommunityID: $('#intranet-community-detail-id').val(), RoleID: roleID, MemberTypeID: TCM.Templates.v1.Intranet.Constants.CommunityReadersRole, Callback: function (rt) { TCM.UI.Loading.StopBox(box); $('#intranet-community-update-official-groups-search').val(''); if (rt & rt.Status) { var li = $($('#intranet-roles-community-update-official-template').html()); li.find('.tcm-component-intranet--link-1-fullname').text(ui.item.Title); li.attr('data-role-id', ui.item.Data.ID); initRemoveRolesUpdateOfficialCommunity(li); li.appendTo('#intranet-community-detail-tab--groups-list'); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); initRemoveRolesUpdateOfficialCommunity(window.document); $('.intranet-community-update-official-member-type').on('change', function (event) { event.preventDefault(); var $this = $(this); var memberTypeID = $this.val(); var roleID = $this.closest('li').attr('data-role-id'); var box = $(this).closest('.intranet-default-container'); TCM.UI.Loading.StartBox(box); TCM.Intranet.Community.UpdateRoleMemberType({ CommunityID: $('#intranet-community-detail-id').val(), RoleID: roleID, MemberTypeID: memberTypeID, Callback: function (rt) { TCM.UI.Loading.StopBox(box); if (rt & !rt.Status) { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); // ============================================================================================================== // Timeline Settings // ============================================================================================================== var getTimelineSettingsData = function () { var form = $('#form-intranet-community-edit-timeline-settings'); var commentsEnabled = eval(form.find('input[name=intranet-community-edit-timeline-settings-commentsEnabled]:checked').val()) || false; var postEnabled = eval(form.find('input[name=intranet-community-edit-timeline-settings-postEnabled]:checked').val()) || false; var postDefaultOrCustom = 'default'; var postTypes = []; if (postEnabled) { postDefaultOrCustom = form.find('input[name=intranet-community-edit-timeline-settings-postDefaultOrCustom]:checked').val(); if (postDefaultOrCustom === 'custom') postTypes = form.find('input[data-field=custom-post-]:checked').map(function () { return parseInt($(this).val()); }).toArray(); } var commentEnabled = eval(form.find('input[name=intranet-community-edit-timeline-settings-commentEnabled]:checked').val()) || false; var commentDefaultOrCustom = 'default'; var commentTypes = []; if (commentEnabled) { commentDefaultOrCustom = form.find('input[name=intranet-community-edit-timeline-settings-commentDefaultOrCustom]:checked').val(); if (commentDefaultOrCustom === 'custom') commentTypes = form.find('input[data-field=custom-comment-]:checked').map(function () { return parseInt($(this).val()); }).toArray(); } return { CommentsEnabled: commentsEnabled, Post: { Enabled: postEnabled, DefaultOrCustom: postDefaultOrCustom, Types: postTypes }, Comment: { Enabled: commentEnabled, DefaultOrCustom: commentDefaultOrCustom, Types: commentTypes } }; }; $('#submit-form-intranet-community-edit-timeline-settings').on('click', function (e) { e.preventDefault(); var form = $('#form-intranet-community-edit-timeline-settings'); if (!form.valid()) return; var communityId = $('#intranet-community-detail-id').val(); var data = getTimelineSettingsData(); TCM.UI.Loading.Start(); TCM.Intranet.Community.UpdateTimelineSettings({ CommunityID: communityId, CommentsEnabled: data.CommentsEnabled, PostEnabled: data.Post.Enabled, CommentEnabled: data.Comment.Enabled, PostTypes: data.Post.Types, CommentTypes: data.Comment.Types, Callback: function (rt) { if (rt.Status) { window.location.reload(); } else { TCM.UI.Loading.Stop(); var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); var refreshTimelineSettings = function () { var form = $('#form-intranet-community-edit-timeline-settings'); var data = getTimelineSettingsData(); if (data.Post.Enabled) { $('#intranet-community-edit-timeline-settings-postEnabledContainer').show(); if (data.Post.DefaultOrCustom === 'custom') $('#intranet-community-edit-timeline-settings-postDefaultOrCustomContainer').show(); else $('#intranet-community-edit-timeline-settings-postDefaultOrCustomContainer').hide(); } else { $('#intranet-community-edit-timeline-settings-postEnabledContainer').hide(); $('#intranet-community-edit-timeline-settings-postDefaultOrCustomContainer').hide(); } if (data.Comment.Enabled) { $('#intranet-community-edit-timeline-settings-commentEnabledContainer').show(); if (data.Comment.DefaultOrCustom === 'custom') $('#intranet-community-edit-timeline-settings-commentDefaultOrCustomContainer').show(); else $('#intranet-community-edit-timeline-settings-commentDefaultOrCustomContainer').hide(); } else { $('#intranet-community-edit-timeline-settings-commentEnabledContainer').hide(); $('#intranet-community-edit-timeline-settings-commentDefaultOrCustomContainer').hide(); } }; refreshTimelineSettings(); $('input[type=radio]', '#form-intranet-community-edit-timeline-settings').on('click', function () { refreshTimelineSettings(); }); }; TCM.Templates.v1.Intranet.CommunityCreate = function (type) { $('#submit-form-intranet-community-create-' + type).on('click', function (e) { e.preventDefault(); var form = $('#form-intranet-community-create-' + type); if (!form.valid()) return; var name = $('#intranet-community-create-' + type + '-name').val(); var categoryID = $('#intranet-community-create-' + type + '-categoryID').val(); var description = $('#intranet-community-create-' + type + '-description').val(); var coverPhoto = $('#intranet-community-create-' + type + '-cover-photo').val(); var contributorRoles = []; var readerRoles = []; if (type === 'official') { form.find('.intranet-community-detail-list li').each(function () { var groupID = $(this).find('[data-field=roleID]').val(); var memberType = parseInt($(this).find('[data-field=memberTypeID]').val()); if (memberType === TCM.Templates.v1.Intranet.Constants.CommunityContributorsRole) contributorRoles.push(groupID); else if (memberType === TCM.Templates.v1.Intranet.Constants.CommunityReadersRole) readerRoles.push(groupID); }); } TCM.UI.Loading.Start(); TCM.Intranet.Community.Create({ Type: type, Name: name, CategoryID: categoryID, Description: description, CoverPhoto: coverPhoto, ContributorRoles: contributorRoles, ReaderRoles: readerRoles, Callback: function (rt) { if (rt.Status) { window.location = rt.RedirectUrl; } else { TCM.UI.Loading.Stop(); var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg }); } } }); }); }; // ========================================================================================== // HOME INIT // ========================================================================================== TCM.Templates.v1.Intranet.HomeInit = function () { }; TCM.Templates.v1.Intranet.Init = function () { var fnCopyFields = function (array) { // Limpa destinos $.each(array, function () { $(this.Dest).val(''); }); // Tenta preencher destinos $.each(array, function () { if (this.Type === 'radio') { if ($(this.Dest).length > 0 & $(this.Source).length > 0) { $(this.Dest)[0].checked = $(this.Source)[0].checked; if ($(this.Dest).is(':checked')) $(this.Dest).trigger('click'); } } else { if (!$(this.Dest).val() & $(this.Source).val()) $(this.Dest).val($(this.Source).val()); } }); }; var fnClears = function () { $('form:not(:visible) input[type=]', '.intranet--box').val(''); }; var fadeTime = 1; // ROUTES jHash.route('', function () { $('form:visible', '.intranet--box').fadeOut(fadeTime, function () { $('#intranet--form').fadeIn(fadeTime, function () { fnClears(); }); }); } ); jHash.route('forgot-', function () { $('form:visible', '.intranet--box').fadeOut(fadeTime, function () { var array = [ { Type: 'radio', Source: '#intranet--field-email', Dest: '#intranet--rp-field-email' }, { Type: 'radio', Source: '#intranet--field-', Dest: '#intranet--rp-field-' }, { Type: 'text', Source: '#intranet--email', Dest: '#intranet--rp-email' }, { Type: 'text', Source: '#intranet--', Dest: '#intranet--rp-' } ]; fnCopyFields(array); $('#intranet--rp-form').fadeIn(fadeTime, function () { fnClears(); }); }); } ); jHash.route('create-new-', function () { $('form:visible', '.intranet--box').fadeOut(fadeTime, function () { var array = [ { Type: 'radio', Source: '#intranet--field-email', Dest: '#intranet--np-field-email' }, { Type: 'radio', Source: '#intranet--field-', Dest: '#intranet--np-field-' }, { Type: 'text', Source: '#intranet--email', Dest: '#intranet--np-email' }, { Type: 'text', Source: '#intranet--', Dest: '#intranet--np-' }, { Type: 'text', Source: '#intranet--', Dest: '#intranet--np-' }, { Type: 'text', Source: '#intranet--rp-email', Dest: '#intranet--np-email' }, { Type: 'text', Source: '#intranet--rp-', Dest: '#intranet--np-' } ]; fnCopyFields(array); $('#intranet--np-form').fadeIn(fadeTime, function () { fnClears(); }); }); } ); if (window.location.hash === '#') jHash.clear(); else jHash.processRoute(); fadeTime = 'slow'; var fnSwitchField = function (form) { var aux = '-'; if (form === 'forgot-') aux = '-rp-'; else if (form === 'create-new-') aux = '-np-'; $('#intranet-' + aux + 'field-email,#intranet-' + aux + 'field-').on('click', function () { $('#intranet-' + aux + 'field-email,#intranet-' + aux + 'field-').each(function () { if ($(this).is(':checked')) $('#intranet-' + aux + 'group-' + $(this).val()).show(); else $('#intranet-' + aux + 'group-' + $(this).val()).hide(); }); }); }; var fnValidateForm = function (form) { if (!form.valid()) { if (form.attr('data-tcm-validation-summary') === 'true') { TCM.UI.MessageBox.ValidationSummary({ Container: form }); } return false; } return true; }; var fnEnterKey = function (form, button) { $('input[type=text],input[type=]', form).enterKey(function () { $(button).click(); }); }; // window.tcmIntranetGoogleReCaptchaCallback = function (token) { $('#intranet--recaptcha').val(token).valid(); }; window.tcmIntranetGoogleReCaptchaErrorCallback = function () { $('#intranet--recaptcha').val('').valid(); }; $('#intranet--btn').on('click', function (event) { event.preventDefault(); var form = $('#intranet--form'); if (!fnValidateForm(form)) return; var p = { SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, : $('#intranet--').val(), GoogleReCaptchaContainer: form.find('.g-recaptcha'), Callback: function (rt) { TCM.GoogleReCaptcha.Clear(form.find('.g-recaptcha')); if ($('#intranet--recaptcha').length) $('#intranet--recaptcha').val('').valid(); if (rt.Status === false) { TCM.UI.Loading.Stop(); if (rt.RequiresChange === true) { window.location = '#create-new-'; } else { TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: rt.Message || TCM.Globalization.Translates.OrIsInvalid }); } } else { window.location = $('#intranet--return-url').val(); } } }; if ($('#intranet--field-').is(':checked') || $('#intranet--field').val() === '') p. = $('#intranet--').val(); else p.Email = $('#intranet--email').val(); TCM.UI.Loading.Start(); TCM.Security.(p); }); fnEnterKey('#intranet--form', '#intranet--btn'); fnSwitchField(''); // window.tcmIntranetRPGoogleReCaptchaCallback = function (token) { $('#intranet--rp-recaptcha').val(token).valid(); }; window.tcmIntranetRPGoogleReCaptchaErrorCallback = function () { $('#intranet--rp-recaptcha').val('').valid(); }; $('#intranet--rp-btn').on('click', function (event) { event.preventDefault(); var form = $('#intranet--rp-form'); if (!fnValidateForm(form)) return; var p = { SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, GoogleReCaptchaContainer: form.find('.g-recaptcha'), Callback: function (rt) { TCM.GoogleReCaptcha.Clear(form.find('.g-recaptcha')); if ($('#intranet--rp-recaptcha').length) $('#intranet--rp-recaptcha').val('').valid(); TCM.UI.Loading.Stop(); TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: rt.Message, Callback: function () { if (rt.Status) window.location = '#create-new-'; } }); } }; if ($('#intranet--rp-field-').is(':checked') || $('#intranet--rp-field').val() === '') p. = $('#intranet--rp-').val(); else p.Email = $('#intranet--rp-email').val(); TCM.UI.Loading.Start(); TCM.Security.Recover(p); }); fnEnterKey('#intranet--rp-form', '#intranet--rp-btn'); fnSwitchField('forgot-'); // CREATE NEW window.tcmIntranetNPGoogleReCaptchaCallback = function (token) { $('#intranet--np-recaptcha').val(token).valid(); }; window.tcmIntranetNPGoogleReCaptchaErrorCallback = function () { $('#intranet--np-recaptcha').val('').valid(); }; $('#intranet--np-btn').on('click', function (event) { event.preventDefault(); var form = $('#intranet--np-form'); if (!fnValidateForm(form)) return; var p = { SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, Old: $('#intranet--np-').val(), New: $('#intranet--np-new-').val(), : true, GoogleReCaptchaContainer: form.find('.g-recaptcha'), Callback: function (rt) { TCM.GoogleReCaptcha.Clear(form.find('.g-recaptcha')); if ($('#intranet--np-recaptcha').length) $('#intranet--np-recaptcha').val('').valid(); if (rt.Status === false) { TCM.UI.Loading.Stop(); TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: rt.Message || TCM.Globalization.Translates.OrIsInvalid }); } else { window.location = $('#intranet--return-url').val(); } } }; if ($('#intranet--np-field-').is(':checked') || $('#intranet--np-field').val() === '') p. = $('#intranet--np-').val(); else p.Email = $('#intranet--np-email').val(); TCM.UI.Loading.Start(); TCM.Security.CreateNew(p); }); fnEnterKey('#intranet--np-form', '#intranet--np-btn'); fnSwitchField('create-new-'); }; TCM.Templates.v1.Intranet.OfUseInit = function () { window.tcmIntranetOfUseGoogleReCaptchaCallback = function (token) { $('#intranet--of-use-recaptcha').val(token).valid(); }; window.tcmIntranetOfUseGoogleReCaptchaErrorCallback = function () { $('#intranet--of-use-recaptcha').val('').valid(); }; var fnValidateForm = function (form) { if (!form.valid()) { if (form.attr('data-tcm-validation-summary') === 'true') { TCM.UI.MessageBox.ValidationSummary({ Container: form }); } return false; } return true; }; $('#intranet--of-use-accept-btn').on('click', function (event) { event.preventDefault(); var form = $(this).closest('form'); if (!fnValidateForm(form)) return; var p = { SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, PreSessionToken: $('#intranet--of-use-token').val(), OfUseID: $('#intranet--of-use-id').val(), GoogleReCaptchaContainer: form.find('.g-recaptcha'), Callback: function (rt) { TCM.GoogleReCaptcha.Clear(form.find('.g-recaptcha')); if ($('#intranet--of-use-recaptcha').length) $('#intranet--of-use-recaptcha').val('').valid(); if (rt.Status === false) { if (rt.RequiresChange === true) { window.location = $('#intranet--of-use--page-url').val() + '#create-new-'; } else { TCM.UI.Loading.Stop(); TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: rt.Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Callback: function () { if (rt.RedirectUrl) { TCM.UI.Loading.Start(); window.location = rt.RedirectUrl; } } }); } } else { window.location = $('#intranet--of-use-return-url').val(); } } }; TCM.UI.Loading.Start(); TCM.Security.AcceptOfUse(p); }); }; // ========================================================================================== // NOTIFICATION INIT // ========================================================================================== TCM.Templates.v1.Intranet.NotificationInit = function () { var btnAnnouncements = $('#intranet-top-menu-announcements'); var btnNotifications = $('#intranet-top-menu-notifications'); if (!btnAnnouncements.length & !btnNotifications.length) return; var handler = 0; var fill = function (btn, data) { if (!btn.length || !data) return; btn.attr('data-has-not-viewed', data.HasNotViewed.toString().toLowerCase()); if (data.Badge) { btn.find('.badge').show(); btn.find('.badge-number').text(data.Badge); } else { btn.find('.badge').hide(); btn.find('.badge-number').text(''); } var menus = btn.next(); menus.find('.dropdown-item-notification').remove(); if (data.Items.length) { menus.find('.without-items').hide(); menus.find('.see-all').show(); $.each(data.Items, function () { var template = $(btn.parent().find('script').html()); if (this.Viewed) template.addClass('viewed'); else template.addClass('not-viewed'); if (this.Confirmed) template.addClass('confirmed'); else template.addClass('not-confirmed'); template.attr('data-notification-id', this.NotificationID); template.attr('href', this.Url); template.find('.dropdown-icon').addClass(this.Icon); template.find('[data-field=Title]').html(this.Title); if (this.RelativeDateCreated) template.find('[data-field=DateCreated]').text(this.RelativeDateCreated).show(); //template.insertBefore(menus.find('.see-all')); template.appendTo(menus.find('.intranet-top-menu-notifications-items .mCSB_container')); }); } else { menus.find('.without-items').show(); menus.find('.see-all').hide(); } }; var refresh = function () { clearTimeout(handler); TCM.Intranet.Notification.Get({ Callback: function (rt) { if (rt & rt.Status && rt.Data) { fill(btnAnnouncements, rt.Data.Announcements); fill(btnNotifications, rt.Data.Notifications); } //handler = setTimeout(refresh, 1000 * 60 * 5); } }); }; btnAnnouncements.on('click', function () { if ($(this).attr('data-has-not-viewed') === 'true') TCM.Intranet.Notification.SetAnnouncementsViewed(); }); btnNotifications.on('click', function () { if ($(this).attr('data-has-not-viewed') === 'true') TCM.Intranet.Notification.SetNotificationsViewed(); }); refresh(); }; TCM.Templates.v1.Intranet.NotificationPageInit = function () { var waypoints = {}; var loadItems = function ($tab) { var keyName = $tab.attr('data-tab'); var pageIndex = $tab.data('pageIndex'); var _waypoint = waypoints[keyName]; _waypoint.disable(); TCM.Intranet.Notification.Get({ IncludeAnnouncements: keyName === 'announcements', IncludeNotifications: keyName === 'notifications', PageIndex: pageIndex, PageSize: 25, Callback: function (rt) { var enableWaypoint = true; if (rt & rt.Status && rt.Data) { var obj = rt.Data[keyName === 'announcements' ? 'Announcements' : 'Notifications']; if (obj.Items.length) { $('#intranet-notifications-empty-' + keyName).hide(); $.each(obj.Items, function () { var template = $($tab.find('script').html()); if (this.Viewed) template.addClass('viewed'); else template.addClass('not-viewed'); if (this.Confirmed) template.addClass('confirmed'); else template.addClass('not-confirmed'); template.attr('data-notification-id', this.NotificationID); template.find('.notification-link').attr('href', this.Url); template.find('.notification-icon').addClass(this.Icon); template.find('[data-field=Title]').html(this.Title); if (this.RelativeDateCreated) template.find('[data-field=DateCreated]').text(this.RelativeDateCreated).show(); template.appendTo($tab.find('.intranet-notifications-list')); }); $tab.data('pageIndex', pageIndex + 1); if (obj.HasNotViewed) { if (keyName === 'announcements') TCM.Intranet.Notification.SetAnnouncementsViewed(); else TCM.Intranet.Notification.SetNotificationsViewed(); } } if (!obj.HasMoreItems) { _waypoint.destroy(); $tab.find('.intranet-notifications-more-items').remove(); enableWaypoint = false; } } else { TCM.Templates.v1.Intranet.ShowError(rt); } if (enableWaypoint) { _waypoint.enable(); Waypoint.refreshAll(); } } }); }; $('.tab-pane', '#intranet-notifications-tabcontainer').each(function () { var $tab = $(this); var keyName = $tab.attr('data-tab'); waypoints[keyName] = new Waypoint({ element: $tab.find('.intranet-notifications-more-items')[0], offset: 'bottom-in-view', handler: function (direction) { if (direction === 'down') { loadItems($tab); } } }); if (!$tab.hasClass('active')) waypoints[keyName].disable(); }); $('.nav-item', '#intranet-notifications-tabmenucontainer').on('shown.bs.tab', function (e) { var $tab = $($(e.target).attr('href')); var oldKeyName = $(e.relatedTarget).attr('data-tab'); var newKeyName = $(e.target).attr('data-tab'); waypoints[oldKeyName].disable(); waypoints[newKeyName].enable(); Waypoint.refreshAll(); if ($tab.data('pageIndex') === 0) loadItems($tab); }); }; TCM.Templates.v1.Intranet.SuppliersInit = function () { $('#intranet-suppliers-filter-province').on('change', function () { TCM.UI.Loading.Start(); TCM.Office.Supplier.GetCities({ ProvinceID: $(this).val(), Callback: function (rt) { if (rt & rt.Status) { $('option:not(:first)', '#intranet-suppliers-filter-city').remove(); $(rt.Data).each(function () { $('').val(this.ID).text(this.Name + ' - ' + this.Province.ShortName).appendTo('#intranet-suppliers-filter-city'); }); } TCM.UI.Loading.Stop(); } }); }); $('#intranet-suppliers-filter-type').on('change', function () { TCM.UI.Loading.Start(); TCM.Office.Supplier.GetCategories({ SupplierTypeID: $(this).val(), Callback: function (rt) { if (rt & rt.Status) { $('option:not(:first)', '#intranet-suppliers-filter-category').remove(); $(rt.Data).each(function () { $('').val(this.ID).text(this.Name).appendTo('#intranet-suppliers-filter-category'); }); } TCM.UI.Loading.Stop(); } }); }); $('#intranet-suppliers-form').on('tcmcFormAutoLayout:getData', function (event, args) { args.data.Custom.Text1 = $('#intranet-suppliers-modal-name').val(); args.data.Custom.Text2 = $('#intranet-suppliers-modal-id').val(); args.data.Email3 = $('#intranet-suppliers-modal-email').val(); }); $('#intranet-suppliers-modal').on('hidden.bs.modal', function (event) { $(this).find('.modal-title').text(''); $(this).find('[data-field]').each(function () { var $field = $(this); if ($field.is('input')) $field.val(''); else $field.html(''); }); }).on('show.bs.modal', function (event) { var link = $(event.relatedTarget); var data = JSON.parse(link.find('script[data-json=true]').html()); $(this).find('.modal-title').text(data.TradeName); $(this).find('[data-field]').each(function () { var $field = $(this); var field = $field.attr('data-field'); var value = data[field]; if ($field.is('input')) { if (value) $field.val(value); else $field.val(''); } else { $field.html(''); if (value) { if ($.isArray(value)) { $.each(value, function (idx) { if (idx > 0) $field.append(''); $('').text(this).appendTo($field); }); } else if (TCM.Framework.IsEmail(value)) $('').attr('href', 'mailto:' + value).attr('target', '_blank').text(value).appendTo($field); else if (/^http[s]?\:\/\//i.test(value)) $('').attr('href', value).attr('target', '_blank').text(value).appendTo($field); else $field.text(value); } } }); }); $('.intranet-suppliers-container[data-open-modal=true]').click(); }; // ========================================================================================== // TIMELINE // ========================================================================================== TCM.Templates.v1.Intranet.Timeline = {}; TCM.Templates.v1.Intranet.Timeline.Init = function () { // Timeline:Post $('.tcm-component-intranet-post', '.tcm-component-intranet-post-list[data-toggle=default-intranet-timeline]').each(function (ipost, post) { TCM.Templates.v1.Intranet.Timeline.InitPost(post); }); // Timeline:Loore $('.tcm-component-intranet-post-list[data-toggle=default-intranet-timeline][data-intranet-timeline-load-more]').each(function (itimeline, timeline) { $(timeline) .on('tcmcIntranetPostList:loore', function (event, args) { args.waypoint.disable(); var $this = $(this); var _data = $.extend( $this.tcmcIntranetPostList('customData') || {}, { pageIndex: args.pageIndex + 1, endDate: args.endDate } ); TCM.Content.Publiartial.Get({ PartialName: $(timeline).attr('data-intranet-timeline-load-more'), Data: _data, Callback: function (html) { args.waypoint.enable(); var $obj = $(html[0]); var hasMoreItems = $obj.attr('data-has-more-items'); $this.attr('data-has-more-items', hasMoreItems); $this.attr('data-page-index', $obj.attr('data-page-index')); $this.attr('data-end-date', $obj.attr('data-end-date')); $this.tcmcIntranetPostList('addItems', { content: $obj.find('.tcm-component-intranet-post-list-items').html(), hasMoreItems: hasMoreItems === 'true' }); }, ErrorCallback: function (rt) { args.waypoint.enable(); TCM.Templates.v1.Intranet.ShowError(rt); } }); }) .on('tcmcIntranetPostList:itemAdded', function (event, args) { TCM.Templates.v1.Intranet.Timeline.InitPost(args.item); }); }); // PostForm $('.tcm-component-intranet-post-form-tab-1[data-toggle=default-intranet-post-form]') .on('tcmcIntranetPostFormTab:errorPostForm', function (event, data) { TCM.UI.MessageBox.Alert({ Message: data.fields[0].Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Title: TCM.Globalization.Translates.Warning, Small: true }); }) .on('tcmcIntranetPostFormTab:submitPostForm', function (event, data) { var timelineID = data.data["TimelineID"]; var $this = $(this); var auxParams = { defaultTimeline: $this.attr('data-intranet-post-form-timeline-default'), scheduledTimeline: $this.attr('data-intranet-post-form-timeline-scheduled'), emptyTimeline: $this.attr('data-intranet-post-form-timeline-empty') }; TCM.UI.Loading.Start(); var submitData = { TimelineID: timelineID, ProfileID: data.profileID, Content: data.content, PublishDate: data.publishDate, Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { var div = $(''); var post = rt.Post; var timelineContainer = post.Scheduled ? auxParams.scheduledTimeline : auxParams.defaultTimeline; if (timelineContainer) { var $timeline = $('#' + timelineContainer); $timeline.show(); div.prependTo($timeline.find('.tcm-component-intranet-post-list-items')); TCM.Templates.v1.Intranet.Timeline.ReloadPost({ post: div, timelineID: timelineID, postID: post.ID, callback: function () { if (auxParams.emptyTimeline) $('#' + auxParams.emptyTimeline).hide(); TCM.UI.Loading.Stop(); } }); } $this.tcmcIntranetPostFormTab('clearForm'); } else { TCM.UI.Loading.StopBox(div); TCM.Templates.v1.Intranet.ShowError(rt); } } }; if (data.action === "SubmitPostDefault") TCM.Intranet.Post.CreateDefault(submitData); else if (data.action === "SubmitPostAnnouncement") TCM.Intranet.Post.CreateAnnouncement(submitData); }) ; }; TCM.Templates.v1.Intranet.Timeline.ReloadPost = function (args) { var _args = { post: undefined, timelineID: 0, postID: 0, callback: undefined, showComments: false, showAllComments: false, scrollToCommentID: 0 }; $.extend(_args, args); var $post = $(_args.post); TCM.Content.Publiartial.Get({ PartialName: 'intranet-post-detail-1', Data: { timelineID: _args.timelineID, postID: _args.postID, contentAlwaysVisible: $post.attr('data-content-always-visible') || 'false' }, Callback: function (html) { var $newPost = $(html[0]); $newPost.insertAfter($post); TCM.Templates.v1.Components.Init($newPost); TCM.Templates.v1.Intranet.Timeline.InitPost($newPost); if (_args.showComments) $newPost.tcmcIntranetPost('showComments', { scrollToCommentID: _args.scrollToCommentID, showAllComments: _args.showAllComments }); $post.remove(); if ($.isFunction(_args.callback)) _args.callback(); }, ErrorCallback: function (rt) { TCM.Templates.v1.Intranet.ShowError(rt); if ($.isFunction(_args.callback)) _args.callback(); } }); }; TCM.Templates.v1.Intranet.Timeline.InitPost = function (post) { var htmlTrimEmptyParagraph = function (html) { var _body = ''; var _array = $(html).toArray(); for (var i = _array.length - 1; i >= 0; i--) { var $aux = $(_array[i]); if ($aux.is('p') & !$aux.text().trim()) _array.pop(); else break; } var _flag = false; for (var j = 0; j < _array.length; j++) { var $aux2 = $(_array[j]); if (!$aux2.is('p') || $aux2.text().trim() || _flag) { _body += $('').append($aux2).html(); _flag = true; } } return _body; }; var reloadPost = function (args) { TCM.Templates.v1.Intranet.Timeline.ReloadPost(args); }; $(post) .on('tcmcIntranetPost:error', function (event, args) { var ul = $(''); $.each(args.items, function () { $('').text(this.message).appendTo(ul); }); if (ul.find('li').length <= 1) ul.addClass('list-unstyled'); TCM.UI.MessageBox.Alert({ Message: ul, Title: TCM.Globalization.Translates.Warning }); }) .on('tcmcIntranetPost:Detail', function (event, args) { var $this = $(this); TCM.UI.Loading.Start(); TCM.Content.Publiartial.Get({ PartialName: 'intranet-post-s-modal-1', Data: { postID: args.postID, timelineID: args.timelineID }, Callback: function (rt) { TCM.UI.Loading.Stop(); $('body').append(rt); }, ErrorCallback: function () { TCM.UI.Loading.Stop(); } }); }) .on('tcmcIntranetPost:set', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Set({ TimelineID: args.timelineID, PostID: args.postID, Type: args.Type, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:remove', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Remove({ TimelineID: args.timelineID, PostID: args.postID, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:commentDetail', function (event, args) { var $this = $(this); TCM.UI.Loading.Start(); TCM.Content.Publiartial.Get({ PartialName: 'intranet-post-comment-s-modal-1', Data: { postID: args.postID, commentID: args.commentID, timelineID: args.timelineID }, Callback: function (rt) { TCM.UI.Loading.Stop(); $('body').append(rt); }, ErrorCallback: function () { TCM.UI.Loading.Stop(); } }); }) .on('tcmcIntranetPost:setComment', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Comment.Set({ TimelineID: args.timelineID, PostID: args.postID, CommentID: args.commentID, Type: args.Type, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, showComments: true, showAllComments: true, scrollToCommentID: args.commentID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:removeComment', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Comment.Remove({ TimelineID: args.timelineID, PostID: args.postID, CommentID: args.commentID, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, showComments: true, showAllComments: true, scrollToCommentID: args.commentID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:createComment', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Comment.Create({ TimelineID: args.timelineID, PostID: args.postID, ParentID: args.postCommentID, ProfileID: args.profileID, Content: { Body: args.content.body }, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, showComments: true, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:pinPost', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Pin({ TimelineID: args.timelineID, PostID: args.postID, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:unpinPost', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Unpin({ TimelineID: args.timelineID, PostID: args.postID, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }) .on('tcmcIntranetPost:deletePost', function (event, args) { var $this = $(this); TCM.UI.MessageBox.Confirm({ Title: TCM.Globalization.Translates.Warning, Message: TCM.Globalization.Translates.DoYouConfirmTheDeletionOfThePost, Small: true, YesCallback: function () { TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Delete({ PostID: args.postID, TimelineID: args.timelineID, Callback: function (rt) { if (rt & rt.Status) { $this.remove(); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); } }); }) .on('tcmcIntranetPost:editComment', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Content.Publiartial.Get({ PartialName: 'intranet-post-comment-edit-1', Data: { TimelineID: args.timelineID, PostID: args.postID, CommentID: args.commentID }, Callback: function (html) { var $obj = $(html[0]); $obj.appendTo('body'); TCM.Templates.v1.Components.CKEditorInit($obj); $obj.find('[data-toggle=update-comment]').on('click', function (event) { event.preventDefault(); var _postID = $(this).attr('data-post-id'); var _timelineID = $(this).attr('data-timeline-id'); var _commentID = $(this).attr('data-post-comment-id'); var _body = htmlTrimEmptyParagraph($obj.find('.post-edit-comment-text').trigger('updateckeditorvalue').html()); var _profileID = $obj.find('.post-edit-comment-profile[data-profile-id]').attr('data-profile-id'); if (!_body) { TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: TCM.Globalization.Translates.ContentIsRequired }); return; } TCM.UI.Loading.StartBox($obj.find('.modal-content')); TCM.Intranet.Post.Comment.Update({ PostID: _postID, TimelineID: _timelineID, CommentID: _commentID, Content: { Body: _body }, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: _timelineID, postID: _postID, showComments: true, callback: function () { $obj.modal('hide'); } }); } else { TCM.UI.Loading.StopBox($obj.find('.modal-body')); TCM.Templates.v1.Intranet.ShowError(rt); } } }); }); $obj.on('hidden.bs.modal', function () { TCM.UI.Loading.StopBox($this); $obj.remove(); }).modal('show'); }, ErrorCallback: function (rt) { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } }); }) .on('tcmcIntranetPost:deleteComment', function (event, args) { var $this = $(this); TCM.UI.MessageBox.Confirm({ Title: TCM.Globalization.Translates.Warning, Message: TCM.Globalization.Translates.DoYouConfirmTheDeletionOfTheComment, Small: true, YesCallback: function () { TCM.UI.Loading.StartBox($this); TCM.Intranet.Post.Comment.Delete({ TimelineID: args.timelineID, PostID: args.postID, CommentID: args.commentID, Callback: function (rt) { if (rt & rt.Status) { reloadPost({ post: $this, timelineID: args.timelineID, postID: args.postID, showComments: true, callback: function () { TCM.UI.Loading.StopBox($this); } }); } else { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } } }); } }); }) .on('tcmcIntranetPost:editPost', function (event, args) { var $this = $(this); TCM.UI.Loading.StartBox($this); TCM.Content.Publiartial.Get({ PartialName: 'intranet-post-edit-1', Data: { TimelineID: args.timelineID, PostID: args.postID }, Callback: function (html) { var $obj = $(html[0]); $obj.appendTo('body'); //TCM.Templates.v1.Intranet.CKEditorInit($obj); TCM.Templates.v1.Components.Init($obj); TCM.Templates.v1.Intranet.Timeline.InitPost($obj); $obj.on('tcmcIntranetPostFormTab:errorPostForm', function (event, data) { TCM.UI.MessageBox.Alert({ Message: data.fields[0].Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Title: TCM.Globalization.Translates.Warning, Small: true }); }); var onSubmitPost = function (event, data) { var postID = data.data["PostID"]; var timelineID = data.data["TimelineID"]; TCM.UI.Loading.Start(); var updateData = { TimelineID: timelineID, PostID: postID, Content: data.content, PublishDate: data.publishDate, Callback: function (rt) { if (rt & rt.Status) { var post = JSON.parse(rt.Post); reloadPost({ post: $this, timelineID: timelineID, postID: post.ID, callback: function () { TCM.UI.Loading.Stop(); $obj.modal('hide'); } }); } else { TCM.UI.Loading.Stop(); TCM.Templates.v1.Intranet.ShowError(rt); } } }; if (data.action === "SubmitPostDefault") TCM.Intranet.Post.UpdateDefault(updateData); else if (data.action === "SubmitPostAnnouncement") TCM.Intranet.Post.UpdateAnnouncement(updateData); }; $obj.on('tcmcIntranetPostFormTab:submitPostForm', onSubmitPost); $obj.on('hidden.bs.modal', function () { TCM.UI.Loading.StopBox($this); $obj.remove(); }).modal('show'); }, ErrorCallback: function (rt) { TCM.UI.Loading.StopBox($this); TCM.Templates.v1.Intranet.ShowError(rt); } }); }) ; $(post).find('[data-toggle=complaint-post],[data-toggle=complaint-post-comment]').on('click', function (event) { event.preventDefault(); var isPost = $(this).is('[data-toggle=complaint-post]'); var isPostComment = $(this).is('[data-toggle=complaint-post-comment]'); var title = $(this).text(); var p = { TimelineID: $(this).attr('data-timeline-id'), PostID: $(this).attr('data-post-id'), CommentID: $(this).attr('data-post-comment-id') }; var form = $(''); var descriptionField = $('') .addClass('form-control') .attr('placeholder', TCM.Globalization.Translates.Description) .attr('rows', '8') .attr('data-val', 'true') .attr('data-val-required', TCM.Globalization.Translates.RequiredField) .attr('name', 'intranet-complaint-description') .appendTo(form); $(form).append($('').attr('data-valmsg-for', 'intranet-complaint-description').attr('data-valmsg-replace', 'true')); var submitButton = $('') .addClass('btn btn-primary') .attr('type', 'button') .append($('').addClass('fal fa-chevron-right fa-fw')) .append($('').text(TCM.Globalization.Translates.Submit)); $.validator.unobtrusive.parse(form); submitButton.on('click', function (event2) { event2.preventDefault(); if (!form.valid()) return; var modalContent = $(this).closest('.modal-content'); p.Description = descriptionField.val(); p.Callback = function (rt) { TCM.UI.Loading.StopBox(modalContent); if (rt & rt.Status) { TCM.UI.MessageBox.Alert({ Message: rt.Message || TCM.Globalization.Translates.YourComplaintWasSubmittedForReview, Title: title }); modalContent.closest('.modal').modal('hide'); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Message: msg, Title: TCM.Globalization.Translates.Warning }); } }; TCM.UI.Loading.StartBox(modalContent); if (isPost) TCM.Intranet.Post.Complaint(p); else if (isPostComment) TCM.Intranet.Post.Comment.Complaint(p); }); var modal = TCM.Templates.v1.Components.CreateModal({ Title: title, IncludeFooter: true, DestroyOnHide: true, StaticBackdrop: true, AppendToBody: true, BodyContent: form, FooterContent: submitButton }); modal .on('shown.bs.modal', function () { descriptionField.focus(); }) .modal('show'); }); }; // ========================================================================================== // POST DETAIL (PAGE) INIT // ========================================================================================== TCM.Templates.v1.Intranet.PostDetailInit = function () { $('.tcm-component-intranet-post', '#intranet-timeline-post-detail-container').each(function () { TCM.Templates.v1.Intranet.Timeline.InitPost(this); }); }; TCM.Templates.v1.Intranet.UI = {}; TCM.Templates.v1.Intranet.UI.Init = function (container) { var _container = container || window.document; TCM.Templates.v1.Intranet.UI.Menu(); TCM.Templates.v1.Intranet.UI.Scrollbar(); TCM.Templates.v1.Intranet.UI.SideMenu(); TCM.Templates.v1.Intranet.UI.FavoriteLinks(); TCM.Templates.v1.Intranet.UI.Poll(); TCM.Templates.v1.Intranet.UI.ToolbarWidgetCalendar(); $('[data-toggle="tooltip"]', _container).tooltip(); $('[data-toggle=tcm-intranet-sign-out]', _container).on('click', function (event) { event.preventDefault(); TCM.UI.Loading.Start(); TCM.Security.Logoff({ SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, Callback: function (rt) { if (rt & rt.Status) if (rt.PageUrl !== '') window.location.href = rt.PageUrl; else window.location.reload(true); else { TCM.UI.Loading.Stop(); TCM.UI.MessageBox.Alert({ Message: rt.Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Title: TCM.Globalization.Translates.Warning }); } } }); }); $('.intranet-top-menu-notifications-items', _container).mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal-dark" }); }; TCM.Templates.v1.Intranet.UI.Menu = function () { var menu = $('.menu .btn'); var intranetBody = $('.intranet'); var TopMenu = $('.intranet-top-bar-inner').find('.menu'); var TopMenuPos = 60; if ($('.intranet-top-bar-inner').find('#main-menu-top').offset()) $('.intranet-top-bar-inner').find('#main-menu-top').offset().top; $(document).on('scroll', function () { scroll = $(window).scrollTop(); if (window.innerWidth < 768) { if (scroll >= TopMenuPos) { TopMenu.addClass('attached'); intranetBody.addClass('attached'); } else if (scroll <= TopMenuPos) { TopMenu.removeClass('attached'); intranetBody.removeClass('attached'); } } }); $(window).on('resize', function () { if (window.innerWidth >= 768) { TopMenu.removeClass('attached'); intranetBody.removeClass('attached'); } }); menu.on('click', function (e) { e.preventDefault(); if ($(this).hasClass('active')) { $('.menu .btn').removeClass('active'); if (window.innerWidth < 768) { $('.overlay').removeClass('active'); } } else { $('.menu .btn').removeClass('active'); $(this).addClass('active'); $('.intranet-menu-container').removeClass('active'); if (window.innerWidth < 768) { $('.overlay').addClass('active'); } } if ($(this).hasClass('btn-menu-side')) { $('.side-menu-bar').toggleClass('active'); } else if ($(this).hasClass('btn-search')) { $('.intranet-search-item').toggleClass('active'); } else if ($(this).hasClass('btn-announcement')) { $('.menu-announcement').toggleClass('active'); } else if ($(this).hasClass('btn-alerts')) { $('.menu-alerts').toggleClass('active'); } else if ($(this).hasClass('btn-tools')) { $('.menu-tools').toggleClass('active'); } else if ($(this).hasClass('btn-')) { $('.menu-').toggleClass('active'); } }); $('body').on('click', function (event) { var $this = $(event.target); if (!$this.parents('.menu').length & !$this.parents('.intranet-menu-container').length) { $('.menu .btn, .intranet-menu-container').removeClass('active'); if (window.innerWidth < 768) { $('.overlay').removeClass('active'); } }; }); // =================================== // Theme // =================================== var rollbackTheme = true; var changeTheme = function (themeObj) { if (!themeObj) return; var _current = $('body').attr('data-theme'); $('body').removeClass(_current).addClass(themeObj.CssClass).attr('data-theme', themeObj.CssClass); if (themeObj.LogoUrl) $('[data-theme-logo=true]').attr('src', themeObj.LogoUrl).show(); else $('[data-theme-logo=true]').hide().attr('src', ''); if (themeObj.HeaderLogoUrl) $('[data-theme-header-logo=true]').attr('src', themeObj.HeaderLogoUrl).show(); else $('[data-theme-header-logo=true]').hide().attr('src', ''); if (themeObj.HeaderBackgroundUrl) $('[data-theme-header-background=true]').css('background-image', 'url(' + themeObj.HeaderBackgroundUrl + ')'); else $('[data-theme-header-background=true]').css('background-image', ''); }; var getCurrentTheme = function () { for (var i = 0; i < TCM.Templates.v1.Intranet.Themes.length; i++) { if (TCM.Templates.v1.Intranet.Themes[i].Current === true) { return TCM.Templates.v1.Intranet.Themes[i]; } } return null; }; $('#intranet-theme-modal').appendTo('body'); $('#intranet-theme-modal').find('select').on('change', function () { var themeObj = null; for (var i = 0; i < TCM.Templates.v1.Intranet.Themes.length; i++) { if (parseInt($(this).val()) === TCM.Templates.v1.Intranet.Themes[i].ID) { themeObj = TCM.Templates.v1.Intranet.Themes[i]; break; } } changeTheme(themeObj); }); $('#intranet-theme-modal').on('show.bs.modal', function () { rollbackTheme = true; $('#intranet-theme-modal').find('select').val(getCurrentTheme().ID); }); $('#intranet-theme-modal').on('hide.bs.modal', function () { if (rollbackTheme) changeTheme(getCurrentTheme()); }); $('#intranet-theme-modal').find('[data-toggle=submit]').on('click', function (event) { event.preventDefault(); var select = $('#intranet-theme-modal').find('select'); var themeID = select.val(); TCM.UI.Loading.StartBox($('#intranet-theme-modal').find('.modal-content')); TCM.Intranet.Theme.Set({ ID: themeID, Callback: function (rt) { TCM.UI.Loading.StopBox($('#intranet-theme-modal').find('.modal-content')); if (rt & rt.Status) { rollbackTheme = false; for (var i = 0; i < TCM.Templates.v1.Intranet.Themes.length; i++) { themeObj = TCM.Templates.v1.Intranet.Themes[i].Current = (parseInt(select.val()) === TCM.Templates.v1.Intranet.Themes[i].ID); } $('#intranet-theme-modal').modal('hide'); } else TCM.Templates.v1.Intranet.ShowError(rt, false); } }); }); }; TCM.Templates.v1.Intranet.UI.Scrollbar = function () { var sideMenuComponent = $('.tcm-component-side-menu'); var sideMenuComponentSecondLevel = $('.tcm-component-side-menu .second-level'); var widgetComponent = $('.intranet-toolbar-inner'); var windowHeight = $(window).height(); sideMenuComponentSecondLevel.mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal-dark" }); if (window.innerWidth < 768) { widgetComponent.mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal-dark" }); } if (windowHeight < sideMenuComponent.height() & window.innerWidth < 1200) { sideMenuComponent.height(windowHeight - $('header').outerHeight(true)); sideMenuComponent.mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal" }); } //$('.tcm-component-textbox-images').mCustomScrollbar({ // autoHideScrollbar: true, // theme: "minimal-dark", // axis: "x" //}); //$(selector).mCustomScrollbar("destroy") }; TCM.Templates.v1.Intranet.UI.SideMenu = function () { var menu = $('.side-menu-bar'); var menuHeight = menu.height(); var headerHeight = $('header').outerHeight(true); var windowHeight = $(window).height(); if (menuHeight + headerHeight >= windowHeight & window.innerWidth >= 1200) { menu.parent().addClass('no-sticky'); } }; TCM.Templates.v1.Intranet.UI.ToolbarWidgetCalendar = function () { $('#intranet-toolbar-widget-calendar') .on('tcmcIntranetWidgetCalendar:monthChanged', function (event, data) { var $calendar = $(this); $calendar.tcmcIntranetWidgetCalendar('clearItems', { animated: true, callback: function () { $calendar.tcmcIntranetWidgetCalendar('selectDay', { day: null }); var endDate = new Date($calendar.tcmcIntranetWidgetCalendar('getCalendarEndDate')); endDate.setUTCDate(endDate.getUTCDate() + 1); endDate.setUTCMilliseconds(endDate.getUTCMilliseconds() + 1); TCM.Intranet.Calendar.Get({ StartDate: $calendar.tcmcIntranetWidgetCalendar('getCalendarStartDate'), EndDate: endDate, PageSize: 10000, Callback: function (rt) { if (rt & rt.Status && rt.Data) { var days = $(rt.Data).map(function () { return TCM.Framework.ParseJsonDate(this.Date); }).toArray(); $calendar.tcmcIntranetWidgetCalendar('markDays', { days: days }); } } }); } }); }) .on('tcmcIntranetWidgetCalendar:dayClicked', function (event, data) { if (data.dayMarked) { var $calendar = $(this); $calendar.tcmcIntranetWidgetCalendar('clearItems', { animated: true, callback: function () { $calendar.tcmcIntranetWidgetCalendar('selectDay', { day: data.day }); var endDate = new Date(data.day); endDate.setUTCDate(endDate.getUTCDate() + 1); endDate.setUTCMilliseconds(endDate.getUTCMilliseconds() + 1); TCM.Intranet.Calendar.Get({ StartDate: data.day, EndDate: endDate, PageSize: 10000, Callback: function (rt) { if (rt & rt.Status && rt.Data) { var items = $(rt.Data).map(function () { return { title: this.Name, location: this.Location, startDate: this.StartDateDescription, startTime: this.StartTimeDescription, duration: this.DurationDescription }; }).toArray(); $calendar.tcmcIntranetWidgetCalendar('addItems', { items: items, animated: true }); } } }); } }); } }) .trigger('tcmcIntranetWidgetCalendar:monthChanged'); }; TCM.Templates.v1.Intranet.UI.FavoriteLinks = function () { var reloadFavoriteLinks = function () { var $this = $('.tcm-component-intranet-favorite-links-1'); TCM.Intranet.FavoriteLinks.GetFavoriteLinks({ Callback: function (rt) { $this.tcmcIntranetFavoriteLinks('load', { items: rt.FavoriteLinks }); } }); }; $('.tcm-component-intranet-favorite-links-1') .on('tcmcIntranetFavoriteLink:saveLink', function (event, data) { var $this = $(this); var _data = { Name: data.name, Url: data.url, Callback: function (rt) { if (rt & rt.Status) { $this.tcmcIntranetFavoriteLinks('closeFormModal'); reloadFavoriteLinks(); } } }; if (data.id & data.id > 0) { _data.ID = data.id; TCM.Intranet.FavoriteLinks.Update(_data); } else { TCM.Intranet.FavoriteLinks.Create(_data); } }) .on('tcmcIntranetFavoriteLink:errorSaveLink', function (event, data) { TCM.UI.MessageBox.Alert({ Message: data.fields[0].Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Title: TCM.Globalization.Translates.Warning }); }) .on('tcmcIntranetFavoriteLink:removeLink', function (event, data) { var $this = $(this); TCM.Intranet.FavoriteLinks.Delete({ ID: data.id, Callback: function (rt) { if (rt & rt.Status) { reloadFavoriteLinks(); } } }); }) .on('tcmcIntranetFavoriteLink:reorderLinks', function (event, data) { var $this = $(this); TCM.Intranet.FavoriteLinks.UpdateViewIndex({ Items: data.items, Callback: function (rt) { if (rt & rt.Status) { reloadFavoriteLinks(); } } }); }); }; TCM.Templates.v1.Intranet.UI.Poll = function () { TCM.Templates.v1.Components.Intranet.PollBox.CallBack({ Answer: function (data, showResults) { TCM.Templates.v1.Components.Intranet.PollBox.StartLoading(data.ComponentID); TCM.Intranet.Poll.Answer({ PollID: data.PollID, PollOptionID: data.PollOptionID, Callback: function (rt) { TCM.Templates.v1.Components.Intranet.PollBox.StopLoading(data.ComponentID); if (rt & rt.Status) { if ($.isArray(rt.Results) && rt.Results.length > 0) { showResults(rt.Results); } if (rt.Message) { var title = TCM.Globalization.Translates.Thanks; //if (rt.Poll & rt.Poll.Question) // title = rt.Poll.Question; TCM.UI.MessageBox.Alert({ Small: true, Message: rt.Message, Title: title }); } } else { TCM.UI.MessageBox.Alert({ Small: true, Message: rt.Message || TCM.Globalization.Translates.AnUnexpectedErrorOccurred, Title: TCM.Globalization.Translates.Warning }); } } }); return true; } }); }; TCM.Templates.v1.Intranet.DetailInit = function () { $('[data-toggle="pill"]', '.intranet-detail-').on('shown.bs.tab', function (e) { $('#intranet--posts').tcmcIntranetPostList('disableWaypoint'); $('#intranet--timeline').tcmcIntranetPostList('disableWaypoint'); if ($(this).hasClass('posts')) $('#intranet--posts').tcmcIntranetPostList('enableWaypoint'); else if ($(this).hasClass('timeline')) $('#intranet--timeline').tcmcIntranetPostList('enableWaypoint'); }); }; TCM.Templates.v1.Intranet.SettingsInit = function () { $('#tcm-intranet-edit--photo').on('change', function () { var htmlFile = this.files[0]; TCM.UI.Loading.Start(); TCM.Infrastructure.File(htmlFile, function (rt) { TCM.UI.Loading.Stop(); if (rt.Status) { $('#tcm-intranet-edit--photo-avatar').css("display", "block"); $('#tcm-intranet-edit--photo-avatar').css('background-image', 'url(' + rt.Url + ')'); $('#tcm-intranet-edit--photo-file-name').val(rt.FileName); $('[data-toggle=tcm-intranet-edit--remove-photo]').show(); $('#tcm-intranet-edit--icon').hide(); } else { TCM.UI.MessageBox.Alert(rt.Message); } }); }); $('[data-toggle=tcm-intranet-edit--remove-photo]').on('click', function () { $('#tcm-intranet-edit--photo-file-name').val(''); $('#tcm-intranet-edit--photo-avatar').hide(); $('#tcm-intranet-edit--icon').show(); $(this).hide(); }); $('#tcm-intranet-button-edit--send').on('click', function (e) { var form = $('#form--edit'); e.preventDefault(); if (!form.valid()) return; TCM.UI.Loading.Start(); TCM.Intranet..Update({ Picture: $('#tcm-intranet-edit--photo-file-name').val(), Biography: $('#intranet--biography').val(), ShowBirthdate: eval($('#tcm-intranet--show-birthdate option:selected').val()), UpdateProfile: eval($('#tcm-intranet--update-profile').val()), UpdatePicture: eval($('#tcm-intranet--update-picture').val()), Callback: function (rt) { if (rt & rt.Status) { $('.tcm-component-intranet--edit').modal('hide'); window.location.reload(); } else { TCM.Templates.v1.Intranet.ShowError(rt); } TCM.UI.Loading.Stop(); } }); }); $('#tcm-intranet-button-change--send').on('click', function (e) { var form = $('#form-intranet--change-'); e.preventDefault(); if (!form.valid()) return; TCM.UI.Loading.Start(); TCM.Security.Change({ SubsetKeyName: TCM.Templates.v1.Intranet.Constants.SubsetKeyName, ID: $('#tcm-intranet-change---id').val(), Old: $('#intranet-old-').val(), New: $('#intranet-new-').val(), Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: TCM.Globalization.Translates.ChangedSuccessfully }); form[0].reset(); } else { TCM.Templates.v1.Intranet.ShowError(rt); //TCM.UI.MessageBox.Alert({ // Title: TCM.Globalization.Translates.Warning, // Message: TCM.Globalization.Translates.Invalid //}); } } }); }); }; TCM.Templates.v1.Components.AddressForm = {}; TCM.Templates.v1.Components.AddressForm.Init = function (container) { $('[data-toggle=tcm-component-address-form],.tcm-component-address-form', container || window.document).each(function () { var params = { DisableFiedlsWithValue: $(this).data().addressFormDisableFiedlsWithValue }; var fields = { ZipCode: $('[data-address-form-field=zipcode]', this)[0] || $('[data-field=zipcode]', this)[0], ProvinceShortName: $('[data-address-form-field=province-shortname]', this)[0] || $('[data-field=province-shortname]', this)[0], CityName: $('[data-address-form-field=city-name]', this)[0] || $('[data-field=city-name]', this)[0], Street: $('[data-address-form-field=street]', this)[0] || $('[data-field=street]', this)[0], District: $('[data-address-form-field=district]', this)[0] || $('[data-field=district]', this)[0], FullAddress: $('[data-address-form-field=fulladdress]', this)[0] || $('[data-field=fulladdress]', this)[0], CountryName: $('[data-address-form-field=country-name]', this)[0] || $('[data-field=country-name]', this)[0] }; TCM.Templates.v1.Components.AddressForm.InitForm(params, fields); }); }; TCM.Templates.v1.Components.AddressForm.InitForm = function (params, fields) { var _params = { DisableFiedlsWithValue: false, AutoFillCities: true }; $.extend(_params, params); var _fields = { ZipCode: null, ProvinceShortName: null, CityName: null, Street: null, District: null, FullAddress: null, CountryName: null }; $.extend(_fields, fields); if (!_fields.ZipCode) { console.log('ZipCode field not found.'); return; } if (!_fields.CountryName) { console.log('CountryName field not found.'); return; } var fnFillCities = function (callback) { $('option', _fields.CityName).each(function () { if ($(this).val()) $(this).remove(); }); if ($(_fields.ProvinceShortName).val()) { TCM.UI.Loading.Start(); TCM.Location.City.Search({ CountryName: $(_fields.CountryName).val(), ProvinceShortName: $(_fields.ProvinceShortName).val(), Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { $(rt.Data).each(function () { $('').val(this.Name).text(this.Name).appendTo(_fields.CityName); }); } if (callback) callback(rt); } }); } }; var fnSetValue = function (field, value) { if (field) { $(field).val(value); if (_params.DisableFiedlsWithValue) { if ($(field).val()) $(field).attr('disabled', 'disabled').addClass('disabled'); else $(field).removeAttr('disabled').removeClass('disabled'); } } }; var fnSetValues = function (provinceShortName, cityName, street, district, fullAddress) { fnSetValue(_fields.ProvinceShortName, provinceShortName); if (_fields.ProvinceShortName & _fields.CityName && _params.AutoFillCities && $(_fields.CityName).is('select')) { fnFillCities(function () { fnSetValue(_fields.CityName, cityName); }); } else { fnSetValue(_fields.CityName, cityName); } fnSetValue(_fields.Street, street); fnSetValue(_fields.District, district); fnSetValue(_fields.FullAddress, fullAddress); }; var fnSearch = function () { TCM.UI.Loading.Start(); TCM.Location.ZipCode.Get({ CountryName: $(_fields.CountryName).val(), Code: $(_fields.ZipCode).val().removeSymbols(), Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { fnSetValues(rt.Data.Province.ShortName, rt.Data.City.Name, rt.Data.Street, rt.Data.District, rt.Data.FullAddress); } else { fnSetValues(); } } }); }; $(_fields.ZipCode).change(function () { fnSearch(); }); $(_fields.ZipCode).keypress(function (e) { if (e.which === 13) { e.preventDefault(); fnSearch(); } }); if (_fields.ProvinceShortName & _fields.CityName && _params.AutoFillCities && $(_fields.CityName).is('select')) { $(_fields.ProvinceShortName).change(function () { fnFillCities(); }); } for (field in _fields) { if (_fields[field]) { $(_fields[field]).data({ AddressForm: { Params: _params, Fields: _fields, SearchZipCode: function () { fnSearch(); } } }); } } }; TCM.Templates.v1.Components.Animation1000s = {}; TCM.Templates.v1.Components.Animation1000s.Init = function (container) { var play1000s = function (component, group, sentence, repeat) { var animation = $(component), element = animation.find('.group-1000s').eq(group).find('> *').eq(sentence), sentences = animation.find('.group-1000s').eq(group).find('> *').length, words = element.find('.sentence > span').length, timeStart = element.data('1000s-start'), timeItem = element.data('1000s-item'), timeNext = element.data('1000s-next'), timeHide = element.data('1000s-hide'), timeHideDelay = element.data('1000s-hide-delay'), loop = element.parent().data('1000s-loop'), type = element.parent().data('1000s-type'), hideEach = timeHide / words; setTimeout(function () { var _type = 'linear'; try { if (jQuery & jQuery.ui) _type = 'easeOutCubic'; } catch (err) { _type = 'linear'; } element.find('.sentence > span').each(function (i, e) { setTimeout(function () { if (type === '') { $(e).find('span:eq(1)').animate({ 'width': '100%' }, timeItem, _type); if (i === (words - 1)) { closeSentence(component, element, timeHideDelay, hideEach, group, sentences, sentence, repeat); } } else if (type === 'color') { $(e).parents('.group-1000s').find('.sentence > span span:nth-of-type(2)').css('width', '100%'); $(e).parent().parent().animate({ 'opacity': '1' }, 100); $(e).find('span:eq(2)').animate({ 'width': '100%' }, timeItem, 'linear'); if (i === (words - 1)) { closeSentence(component, element, timeHideDelay, hideEach, group, sentences, sentence, repeat); } } }, timeNext + (i * timeNext)); }); }, timeStart); var closeSentence = function (component, element, timeHideDelay, hideEach, group, sentences, sentence, repeat) { setTimeout(function () { $(element.find('.sentence > span').get().reverse()).each(function (i, e) { setTimeout(function () { if (type === '') { $(e).find('span:eq(1)').animate({ 'width': '0' }, hideEach, 'linear'); if (i === (words - 1)) { if (loop === true & repeat === 0) { if (sentence === sentences - 1) { play1000s(component, group, 0, 1); play1000s(component, group + 1, 0, 0); } else { play1000s(component, group, sentence + 1, 0); } } else if (loop === true & repeat === 1) { if (sentence === sentences - 1) { play1000s(component, group, 0, 1); } else { play1000s(component, group, sentence + 1, 1); } } else { if (sentence === sentences - 1) { play1000s(component, group + 1, 0, 0); } else { play1000s(component, group, sentence + 1, 0); } } } } else if (type === 'color') { $(e).parent().parent().animate({ 'opacity': '0' }, 100); $(e).find('span:eq(1), span:eq(2)').animate({ 'width': '0' }, hideEach, 'linear'); if (i === (words - 1)) { if (loop === true & repeat === 0) { if (sentence === sentences - 1) { play1000s(component, group, 0, 1); play1000s(component, group + 1, 0, 0); } else { play1000s(component, group, sentence + 1, 0); } } else if (loop === true & repeat === 1) { if (sentence === sentences - 1) { play1000s(component, group, 0, 1); } else { play1000s(component, group, sentence + 1, 1); } } else { if (sentence === sentences - 1) { play1000s(component, group + 1, 0, 0); } else { play1000s(component, group, sentence + 1, 0); } } } } }, hideEach + (i * hideEach)); }); }, timeHideDelay); }; }; $('.tcm-component-animation-1000s', container || window.document).each(function (ind, el) { var group = $(el).find('.group-1000s'); group.find('.sentence').css('opacity', 1); group.find('.sentence span').wrapInner(''); group.find('.new').each(function () { for (var i = 0; i < 2; i++) { $(this).clone().appendTo($(this).parent()); } }); if ($(el).is('[data-1000s-mode=auto]')) play1000s(el, 0, 0, 0); else if ($(el).is('[data-1000s-mode=scroll]')) { try { if (window.Waypoint) { var waypoint = new Waypoint({ element: el, handler: function (direction) { play1000s(el, 0, 0, 0); this.destroy(); }, offset: '50%' }); } } catch (err) { $(el).hide(); } } }); }; TCM.Templates.v1.Components.Autocomplete1 = {}; TCM.Templates.v1.Components.Autocomplete1.Init = function (container) { $('.tcm-component-autocomplete-1', container || window.document).each(function () { var elm = $(this); var box = $('').addClass('tcm-component-autocomplete-1-box').appendTo(elm.parent()); elm.autocomplete({ minLength: parseInt(elm.attr('data-autocomplete-min-length') || 2), source: elm.attr('data-autocomplete-source'), appendTo: box, open: function (e, ui) { $(".ui-autocomplete").mCustomScrollbar({ autoHideScrollbar: true, theme: "minimal-dark" }); }, response: function (e, ui) { $(".ui-autocomplete").mCustomScrollbar("destroy"); }, close: function (e, ui) { $(".ui-autocomplete").mCustomScrollbar("destroy"); } }); elm.autocomplete("instance")._renderItem = function (ul, item) { var li = $('').addClass('tcm-component-autocomplete-1-item').appendTo(ul); var aux = li; if (item.Url) aux = $('').attr('href', item.Url).appendTo(li); var avatar = $('').addClass('tcm-component-autocomplete-1-avatar'); if (item.ImageUrl) avatar.css('background-image', 'url(\'' + item.ImageUrl + '\')'); if (item.IconClass) avatar.addClass(item.IconClass); avatar.appendTo(aux); var details = $('').addClass('tcm-component-autocomplete-1-details').appendTo(aux); var detailsTitle = $('').addClass('tcm-component-autocomplete-1-title').appendTo(details); if (item.TitleContainsHtml) detailsTitle.html(item.Title); else detailsTitle.text(item.Title); if ($.isArray(item.Attributes)) { var divItem = $('').addClass('tcm-component-autocomplete-1-attr').appendTo(details); $.each(item.Attributes, function (i, e) { var divContainer = $('').addClass('tcm-component-autocomplete-1-attr-inner').appendTo(divItem); if (this.IconClass) { $('').addClass(this.IconClass).addClass('fa-fw').addClass('tcm-component-autocomplete-1-attr-icon').appendTo(divContainer); } if (this.Title) { $('').addClass('tcm-component-autocomplete-1-attr-title').text(this.Title + ':').appendTo(divContainer); } $('').addClass('tcm-component-autocomplete-1-attr-text').text(this.Text || '').appendTo(divContainer); }); } return li; }; }); }; TCM.Templates.v1.Components.Banner1 = {}; TCM.Templates.v1.Components.Banner1.Init = function (container) { $('.tcm-component-banner-1', container || window.document).each(function (ielm, elm) { var content = $(elm).find('.cover'), items = content.length; $(elm).mCustomScrollbar({ axis: 'x', mouseWheel: { enable: true }, theme: 'dark-thin', setLeft: 0 }); bannerAnimation = function () { content.each(function (i, e) { setTimeout(function () { $(e).addClass('open'); }, 600 + (i * 600)); }); } //animation on load bannerAnimation(); //animation on click $('.banner-start').on('click', function (e) { content.removeClass('open'); bannerAnimation(); return false }) }); }; TCM.Templates.v1.Components.Banner2 = {}; TCM.Templates.v1.Components.Banner2.Init = function (container) { }; TCM.Templates.v1.Components.CardDeck2 = {}; TCM.Templates.v1.Components.CardDeck2.Init = function (container) { $('.tcm-component-carddeck-2', container || window.document).each(function (ielm, elm) { var clientID = $(elm).attr('id'); var slickOptions = { dots: false, infinite: true, //speed: 300, slidesToShow: 1, centerMode: true, variableWidth: true }; $(elm).slick(slickOptions); }); }; TCM.Templates.v1.Components.Carousel2 = {}; TCM.Templates.v1.Components.Carousel2.Init = function (container) { $('.tcm-component-carousel-2', container || window.document).each(function (ielm, elm) { $('.carousel-slick-slide', elm).slick({ infinite: true, autoplay: true, autoplaySpeed: 2000, dots: true, arrows: true, adaptiveHeight: true }); }); }; (function ($) { changeMultipleListClass = function (inputID) { var list = $('#' + inputID + '-list'); if (list.children('li').length > 0) { list.removeClass('no-file'); list.addClass('has-file'); } else { list.removeClass('has-file'); list.addClass('no-file'); } }; var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcFormAutoLayout.defaults, options); this.each(function (index, item) { var $form = $(item); var componentID = $form.attr('id'); window[componentID + '-ReCaptchaCallback'] = function (token) { $('#' + componentID + '-recaptcha').val(token).valid(); }; window[componentID + '-ReCaptchaErrorCallback'] = function () { $('#' + componentID + '-recaptcha').val('').valid(); }; TCM.Framework.ApplyInputMask($form); $('.datetime-group .datetime-part', $form).on('change', function () { var group = $(this).closest('.datetime-group'); var date = group.find('.datetime-part-date'); var time = group.find('.datetime-part-time'); var hidden = group.find('.datetime-part-full'); hidden.val(date.val() + ' ' + time.val()); }); $('[data-toggle=submit]', $form).on('click', function (event) { event.preventDefault(); $form.tcmcFormAutoLayout('submit'); }); $('.tcm-component-multiple--input', $form).each(function () { var removeMultipleListItem = function (li) { $('.btn-remove-list-input', li).on('click', function (e) { e.preventDefault(); li.remove(); var fileName = li.attr('data-li-name'); var inputID = li.attr('data-client-id'); var divList = $('#' + inputID + '-input-list'); var hiddenInput = $(divList).find('input[value="' + fileName + '"]').remove(); }); }; var field = $(this); var inputID = field.attr('data-input-id'); var inputName = field.attr('data-input-name'); var divList = $('#' + inputID + '-input-list'); changeMultipleListClass(inputID); field.on('change', function () { TCM.Templates.v1.Components.Manager.Show({ Files: this.files, Callback: function (data) { $(data.SuccessItems).each(function () { var item = $(this); var hiddenInput = $('').attr('type', 'hidden').attr('data-multiple-values', 'true').attr('name', inputName).val(item[0].FileName); hiddenInput.appendTo(divList); var li = $('').attr('data-li-name', item[0].FileName).attr('data-client-id', inputID); var span = $('').text(item[0].FileName).appendTo(li); var removeBtn = $('').addClass('btn-remove-list-input').attr('href', '#').text('X').appendTo(span); removeMultipleListItem(li); li.appendTo('#' + inputID + '-list'); field.val(''); changeMultipleListClass(inputID); }); } }); }); }); }); return this; }, getData: function () { var $form = this.eq(0); var fields = $('input[name],textarea[name],select[name],input[type=radio][name]:checked,input[type=checkbox][name]:checked', $form); var data = {}; data.Custom = {}; var identifyCustom = /^Custom((Text|Number|DateTime|Bool)[1-9][0-9]?)$/; fields.each(function () { var input = $(this); var value = input.val(); var concatValues = input.attr('data-multiple-values') === 'true'; if (input.is('[type=checkbox]') || input.is('[type=radio]') || input.is('select[data-type=bool]')) { if (value !== '' || input.is('select[data-type=bool]')) { if (value === true || value === 'true' || value === '1' || value === 1) value = true; else value = false; } } var name = input.attr('name'); var aux = identifyCustom.exec(name); if ($.isArray(aux) & aux.length > 1) { if (concatValues) { if (data.Custom[aux[1]]) data.Custom[aux[1]] += ',' + value; else data.Custom[aux[1]] = value; } else data.Custom[aux[1]] = value; } else { if (concatValues) { if (data[input.attr('name')]) data[input.attr('name')] += ',' + value; else data[input.attr('name')] = value; } else { data[input.attr('name')] = value; } } }); $form.trigger('tcmcFormAutoLayout:getData', [{ action: 'GetData', data: data }]); return data; }, clear: function () { this.each(function (index, item) { var $form = $(item); var fields = $('input[name],textarea[name],select[name],input[type=radio][name]:checked,input[type=checkbox][name]:checked', $form); fields.each(function () { var input = $(this); if (input.is('[type=checkbox]') || input.is('[type=radio]')) this.checked = false; if (this.value === true || this.value === 'true' || this.value === '1' || this.value === 1) this.value = false; else input.val(''); }); $('.tcm-component-multiple--list', $form).empty(); $('.tcm-component--input-group').find('span').text(TCM.Globalization.Translates.NoFileSelected) }); return this; }, submit: function () { //var opts = $.extend({ content: '', hasMoreItems: false }, options); var $form = this.eq(0); if (!$form.valid()) return false; var data = $form.tcmcFormAutoLayout('getData'); TCM.UI.Loading.Start(); TCM..Message.Create({ FormName: $form.attr('data-form-name'), Data: data, GoogleReCaptchaContainer: $form.find('.g-recaptcha'), Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { $form.tcmcFormAutoLayout('clear'); if (rt.Message) TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: rt.Message }); } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Title: TCM.Globalization.Translates.Warning, Message: msg, Callback: function () { if (rt.RedirectUrl) { TCM.UI.Loading.Start(); window.location = rt.RedirectUrl; } } }); } } }); return true; } }; $.fn.tcmcFormAutoLayout = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcFormAutoLayout.defaults = { }; $.fn.tcmcFormAutoLayout.init = function (container) { $('form[data-toggle=-form-auto-layout]', container || window.document).tcmcFormAutoLayout(); }; }(jQuery)); (function ($) { var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcFormDefault.defaults, options); this.each(function (index, item) { var $form = $(item); //var componentID = $form.attr('id'); //window[componentID + '-ReCaptchaCallback'] = function (token) { // $('#' + componentID + '-recaptcha').val(token).valid(); //}; //window[componentID + '-ReCaptchaErrorCallback'] = function () { // $('#' + componentID + '-recaptcha').val('').valid(); //}; TCM.Framework.ApplyInputMask($form); $form.on('submit', function (event) { event.preventDefault(); $form.tcmcFormDefault('submit'); }); }); return this; }, getData: function () { var $form = this.eq(0); var fields = $('input[name],textarea[name],select[name],input[type=radio][name]:checked,input[type=checkbox][name]:checked', $form); var data = {}; data.Custom = {}; var identifyCustom = /^Custom((Text|Number|DateTime|Bool)[1-9][0-9]?)$/; fields.each(function () { var input = $(this); var value = input.val(); var concatValues = input.attr('data-multiple-values') === 'true'; var concatValuesSep = input.attr('data-multiple-values-separator') || ','; if (input.is('[type=checkbox]') || input.is('[type=radio]') || input.is('select[data-type=bool]')) { if (value !== '' || input.is('select[data-type=bool]')) { if (value === true || value === 'true' || value === '1' || value === 1) value = true; else value = false; } } else if (input.is('[data-type=datetime]')) value = TCM.Framework.FormatDateTime(TCM.Framework.ParseDate(value), 'yyyy-MM-dd HH:mm:ss'); else if (input.is('[data-type=date]')) value = TCM.Framework.FormatDateTime(TCM.Framework.ParseDate(value), 'yyyy-MM-dd'); else if (input.is('[data-type=time]')) value = TCM.Framework.FormatDateTime(TCM.Framework.ParseDate(TCM.Framework.FormatDateTime(new Date(), TCM.Globalization.DateTimeFormat.ShortDatePattern) + ' ' + value), 'HH:mm:ss'); var name = input.attr('data-field') || input.attr('name'); var aux = identifyCustom.exec(name); if ($.isArray(aux) & aux.length > 1) { if (concatValues && data.Custom[aux[1]]) data.Custom[aux[1]] += concatValuesSep + value; else data.Custom[aux[1]] = value; } else { if (concatValues & data[name]) data[name] += concatValuesSep + value; else data[name] = value; } }); $form.trigger('tcmcFormDefault:getData', [{ action: 'GetData', data: data }]); return data; }, getFiles: function () { var $form = this.eq(0); var files = []; var identifyName = /^Attachment[1-9][0-9]?$/; // Single files $('input[name][data-type=attachment]', $form).each(function () { var $input = $(this); var value = $input.val(); var name = $input.attr('data-field') || $input.attr('name'); if (identifyName.test(name) & value) { var aux = { FileName: value, Title: '', Field: name }; if ($input.is('[data-toggle=tcm-component--input]') || $input.is('.tcm-component--input')) { var fileObj = $input.tcmcInput('getFile'); if (fileObj) aux.Title = fileObj.Title || fileObj.OriginalFileName; } files.push(aux); } }); // Multiple files $('.tcm-component--list[data-field]', $form).each(function (iList, List) { var $ul = $(List); var fieldName = $ul.attr('data-field'); if (identifyName.test(fieldName)) { $.each($ul.tcmcList('getFiles'), (ifile, file) => { files.push({ FileName: file.FileName, Title: file.Title || file.OriginalFileName, Field: fieldName }); }); } }); $form.trigger('tcmcFormDefault:getFiles', [{ action: 'GetFiles', files: files }]); return files; }, clear: function () { this.each(function (index, item) { var $form = $(item); var fields = $('input[name],textarea[name],select[name],input[type=radio][name]:checked,input[type=checkbox][name]:checked', $form); fields.each(function () { var $input = $(this); if ($input.is('[type=checkbox]') || $input.is('[type=radio]')) { this.checked = false; if (this.value === true || this.value === 'true' || this.value === '1' || this.value === 1) this.value = false; } else if ($input.is('[data-toggle=tcm-component--input]') || $input.is('.tcm-component--input')) $input.tcmcInput('clear'); else $input.val(''); }); $('.tcm-component--list[data-field]', $form).tcmcList('clear'); }); return this; }, submit: function () { var $form = this.eq(0); if (!$form.valid()) return false; var data = $form.tcmcFormDefault('getData'); var files = $form.tcmcFormDefault('getFiles'); TCM.UI.Loading.Start(); TCM..Message.Create({ FormName: $form.attr('data-form-key-name'), Data: data, Files: files, Host: $form.attr('data-form-host'), GoogleReCaptchaContainer: $form.find('.g-recaptcha'), Callback: function (rt) { TCM.UI.Loading.Stop(); if (rt & rt.Status) { $form.tcmcFormDefault('clear'); TCM.GoogleReCaptcha.Clear($form.find('.g-recaptcha')); var eArgsMessageCreated = { action: 'MessageCreated', : rt., cancelAlert: false }; $form.trigger('tcmcFormDefault:messageCreated', [eArgsMessageCreated]); if (!eArgsMessageCreated.cancelAlert) { TCM.UI.MessageBox.Alert({ Message: $form.attr('data-success-message') || rt.Message, Title: $form.attr('data-title') || TCM.Globalization.Translates.Warning, Small: true }); } } else { var msg = TCM.Globalization.Translates.AnUnexpectedErrorOccurred; if (rt & rt.Message) msg = rt.Message; TCM.UI.MessageBox.Alert({ Message: msg, Title: $form.attr('data-title') || TCM.Globalization.Translates.Warning, Callback: null, Small: true }); } if ($form.attr('data-callback')) window[$form.attr('data-callback')](rt); } }); return true; } }; $.fn.tcmcFormDefault = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcFormDefault.defaults = { }; $.fn.tcmcFormDefault.init = function (container) { $('form[data-toggle=-form-default]', container || window.document).tcmcFormDefault(); }; }(jQuery)); TCM.Templates.v1.Components.GoToTop = {}; TCM.Templates.v1.Components.GoToTop.Init = function (container) { var items = $('[data-toogle=tcm-gototop]', container || window.document); items.on('click', function (event) { event.preventDefault(); var target = $(this).attr('data-tcm-gototop-target') || 'body'; var offset = $(target).offset().top + (parseInt($(this).attr('data-tcm-gototop-offset')) || 0); $('html, body').animate({ scrollTop: offset }); }); var autoHiddenItems = $('[data-toogle=tcm-gototop][data-tcm-gototop-autohidden=true]', container || window.document); if (autoHiddenItems.length > 0) { var fn = function () { autoHiddenItems.each(function () { var target = $(this).attr('data-tcm-gototop-target') || 'body'; var offset = $(target).offset().top + (parseInt($(this).attr('data-tcm-gototop-offset')) || 0); if ($(window).scrollTop() > offset) $(this).parent().fadeIn(); else $(this).parent().fadeOut(); }); }; $(window).scroll(function () { fn(); }); fn(); } }; TCM.Templates.v1.Components.ImageCrop = {}; TCM.Templates.v1.Components.ImageCrop._Show = function (params) { var _params = { Image: undefined, Title: undefined, CropHeight: undefined, CropWidth: undefined, Resize: undefined, Callback: function () { } }; $.extend(_params, params); $('body').addClass('tcm-component-image-crop-active'); var container = $('').addClass('tcm-component-image-crop').hide().appendTo('body'); var box = $('').addClass('tcm-component-image-crop-inner').appendTo(container); var header = $('').addClass('tcm-component-image-crop-header').appendTo(box); $('').text(_params.Title).appendTo(header); var body = $('').addClass('tcm-component-image-crop-body').appendTo(box); var imgContainer = $('').addClass('tcm-component-image-crop-container').html('').appendTo(body); var cropArea = $('').addClass('tcm-component-image-crop-area').width(_params.CropWidth).height(_params.CropHeight).html('').appendTo(imgContainer); $('').text('0, 0').appendTo(cropArea); var footer = $('').addClass('tcm-component-image-crop-footer').appendTo(box); var input = $('').addClass('tcm-component-image-crop-inputs').appendTo(footer); var containerEl = $('.tcm-component-image-crop-body'); var imageEl = $('.tcm-component-image-crop-container img'); // input position var inputPos = $('').addClass('tcm-component-image-crop-input-position').appendTo(input); $('').text('Posição').appendTo(inputPos); $('').val(0).addClass('tcm-component-image-crop-input-pos-x').appendTo(inputPos).on('change', function () { var posX = $(this).val(); cropArea.animate({ left: posX }, 500); $('.tcm-component-image-crop-area > img').animate({ marginLeft: -posX }, 500); $('.tcm-component-image-crop-area p').text(posX + ', ' + $('.tcm-component-image-crop-input-pos-y').val()); }); $('').val(0).addClass('tcm-component-image-crop-input-pos-y').appendTo(inputPos).on('change', function () { var posY = $(this).val(); cropArea.animate({ top: posY }, 500); $('.tcm-component-image-crop-area > img').animate({ marginTop: -posY }, 500); $('.tcm-component-image-crop-area p').text($('.tcm-component-image-crop-input-pos-y').val() + ', ' + posY); }); //input size var inputSize = $('').addClass('tcm-component-image-crop-input-size').appendTo(input); $('').text('Tamanho').appendTo(inputSize); $('').val(_params.CropWidth).addClass('tcm-component-image-crop-input-crop-width').appendTo(inputSize).on('change', function () { var boxWidth = $(this).val(); cropArea.animate({ width: boxWidth }, 500); }); $('').val(_params.CropHeight).addClass('tcm-component-image-crop-input-crop-height').appendTo(inputSize).on('change', function () { var boxHeight = $(this).val(); cropArea.animate({ height: boxHeight }, 500); }); if (_params.Resize == true) { cropArea.resizable({ resize: function (event, ui) { $('.tcm-component-image-crop-input-crop-height').val(Math.round(ui.size.height)); $('.tcm-component-image-crop-input-crop-width').val(Math.round(ui.size.width)); } }); } else { inputSize.find('input').attr('disabled', 'disabled'); } //zoom slider var zoomSlider = $('').addClass('tcm-component-image-crop-zoom-slider').appendTo(input); $('').text('Zoom').appendTo(zoomSlider); $('').addClass('tcm-component-image-crop-zoom-slider-tool').appendTo(zoomSlider); $('').addClass('tcm-component-image-crop-zoom-slider-handle').appendTo('.tcm-component-image-crop-zoom-slider-tool'); //fit image button var fitButton = $('').addClass('tcm-component-image-crop-fit-button').appendTo(input); $('').text('Ajustar imagem na área de corte').appendTo(fitButton); $('').addClass('btn btn-primary btn-sm btn-fit').text('Ajustar').appendTo(fitButton).on('click', function () { fitToCrop(); }); $('').addClass('btn btn-primary btn-sm btn-fit-reset').text('Reverter').appendTo(fitButton).on('click', function () { revertFitToCrop(); }); //buttons var buttons = $('').addClass('tcm-component-image-crop-buttons').appendTo(footer); $('').addClass('btn btn-primary btn-sm btn-confirm').text('Cortar').appendTo(buttons).on('click', function () { }); $('').addClass('btn btn-primary btn-sm btn-cancel').text('Cancelar').appendTo(buttons).on('click', function () { }); imageFit(); function imageFit() { var maxWidthRatio = (containerEl.width() * 100 / imageEl.width()) / 100; var maxHeightRatio = ((containerEl.height() - 17) * 100 / imageEl.height()) / 100; var widthRatio = ($('.tcm-component-image-crop-input-crop-width').val() * 100 / imageEl.width()) / 100 var heightRatio = (($('.tcm-component-image-crop-input-crop-height').val()) * 100 / imageEl.height()) / 100; var minZoom; var maxZoom; if (containerEl.width() >= imageEl.width()) { } if (containerEl.height() >= imageEl.height()) { } if (widthRatio <= heightRatio & heightRatio <= 1) { imgContainer.find('img').css({ //'transform-origin': '0 0', //'transform': 'scale(' + heightRatio + ')' 'zoom': heightRatio }); minZoom = heightRatio; maxZoom = maxHeightRatio; console.log('1'); } else if (widthRatio >= heightRatio & widthRatio <= 1) { imgContainer.find('img').css({ //'transform-origin': '0 0', //'transform': 'scale(' + widthRatio + ')' 'zoom': widthRatio }); minZoom = widthRatio; maxZoom = maxHeightRatio; console.log('2'); } else { TCM.UI.MessageBox.Alert('Imagem com tamanho menor que o requerido.', 'Atenção'); } console.log(minZoom); console.log(maxZoom); body.css('overflow', 'hidden'); $('.tcm-component-image-crop-zoom-slider-handle').slider({ range: "max", min: minZoom*100, max: maxZoom*100, slide: function (event, ui) { imgContainer.find('img').css({ 'zoom': ui.value/100 }); } }); } function fitToCrop() { TCM.UI.Loading.Start(); var cropWidth = $('.tcm-component-image-crop-input-crop-width').val(); var cropHeight = $('.tcm-component-image-crop-input-crop-height').val(); var cropUrl = 'http://tcm.demo.dev.tesla.net.br/api/infrastructure/transform-image/resize-fixed/image?width='+ cropWidth +'&height='+ cropHeight +'&background=12AB34&imagePath=' + _params.Image; TCM.UI.ImageUtility.LoadAsync({ Items: [cropUrl], Callback: function () { $('.tcm-component-image-crop-container').find('img').attr('src', cropUrl).attr('style', ''); $('.tcm-component-image-crop-input-position, .tcm-component-image-crop-input-size').find('input').attr('disabled', 'disabled'); $('.tcm-component-image-crop-zoom-slider-handle').slider({disabled: true}); $('.tcm-component-image-crop-input-pos-x, .tcm-component-image-crop-input-pos-y').val(0); $('.tcm-component-image-crop-area, .tcm-component-image-crop-area > img').css({ 'top': 0, 'left': 0, 'cursor': 'auto' }); $('.tcm-component-image-crop-area p').text('0, 0').hide(); TCM.UI.Loading.Stop(); } }); } function revertFitToCrop() { $('.tcm-component-image-crop-container').find('img').attr('src', _params.Image); $('.tcm-component-image-crop-input-position, .tcm-component-image-crop-input-size').find('input').attr('disabled', 'disabled'); $('.tcm-component-image-crop-zoom-slider-handle').slider({ disabled: false }); $('.tcm-component-image-crop-area, .tcm-component-image-crop-area > img').css('cursor', 'move'); $('.tcm-component-image-crop-area p').show(); imageFit(); } OnDrag = function (event, ui) { var leftPos = Math.round(ui.position.left); var topPos = Math.round(ui.position.top); var zoom = $('.tcm-component-image-crop-area img').css('zoom'); $('.tcm-component-image-crop-area > img').css('margin-left', -leftPos/zoom).css('margin-top', -topPos/zoom); $('.tcm-component-image-crop-area p').text(leftPos + ', ' + topPos); $('.tcm-component-image-crop-input-pos-x').val(leftPos); $('.tcm-component-image-crop-input-pos-y').val(topPos); } $('.tcm-component-image-crop-area', '.tcm-component-image-crop-container').draggable({ containment: 'parent', drag: OnDrag, stop: OnDrag }); } TCM.Templates.v1.Components.ImageCrop.Show = function (params) { TCM.UI.Loading.Start(); TCM.UI.ImageUtility.LoadAsync({ Items: [params.Image], Callback: function () { TCM.UI.Loading.Stop(); TCM.Templates.v1.Components.ImageCrop._Show(params); } }); }; TCM.Templates.v1.Components.Map = {}; TCM.Templates.v1.Components.Map.Init = function (container) { TCM.UI.Gmaps.Add(function () { var directionService = new google.maps.DirectionsService(); $('.tcm-component-map', container || window.document).each(function (ielm, elm) { // Variables var createDirectionsHandler = 0; var mapObj = undefined; var markers = undefined; var directionsRenderer = undefined; var data = $(elm).data(); // Functions var fnConfigureMap = function () { var mapOptions = { scrollwheel: false, zoom: data.zoom, center: new google.maps.LatLng(data.centerLatitude, data.centerLongitude), mapTypeId: google.maps.MapTypeId.ROAP }; var rt = new google.maps.Map($('.tcm-component-map-embed', elm)[0], mapOptions); return rt; }; var fnConfigureMarkers = function () { var rt = []; $.each(JSON.parse($('script', elm).html()) || [], function () { var _marker = new google.maps.Marker({ position: new google.maps.LatLng(this.Latitude, this.Longitude), title: this.Name, map: mapObj }); _marker.setIcon(this.Icon); rt.push(_marker); }); return rt; }; var fnConfigureDirectionsRenderer = function () { var rt = new google.maps.DirectionsRenderer({ polylineOptions: { strokeColor: "#333", strokeOpacity: 0.5, strokeWeight: 4 }, suppressMarkers: false }); //rt.setMap(mapObj); return rt; }; var fnCreateDirections = function (source, dest, travelMode) { var request = { origin: source, destination: dest, travelMode: travelMode }; if (createDirectionsHandler) clearTimeout(createDirectionsHandler); $(elm).addClass('loading'); createDirectionsHandler = setTimeout(function () { directionService.route(request, function (result, status) { $(elm).removeClass('loading'); if (status === google.maps.DirectionsStatus.OK) { $('.tcm-component-map-container', elm).addClass('with-route-result'); directionsRenderer.setMap(mapObj); directionsRenderer.setDirections(result); directionsRenderer.set($('.tcm-component-map-route-result-inner', elm)[0]); $.each(markers, function () { this.setVisible(false); }); $("html, body").stop().animate({ scrollTop: $('.tcm-component-map-embed', elm).offset().top - 8 }, '500', 'swing'); } else { fnClearDirections(false); TCM.UI.MessageBox.Alert(data.msgNoRoutesFound || 'Nenhuma rota encontrada.'); } }); }, 500); }; var fnRefresh = function () { var source = $('input[data-field=from],button.btn-primary[data-field=from]', elm).val(); var aux = undefined; if (source) { aux = source.split(','); source = new google.maps.LatLng(parseFloat(aux[0]), parseFloat(aux[1])); } else { source = $('input[data-field=input-from]', elm).val(); } var dest = $('input[data-field=to],button.btn-primary[data-field=to]', elm).val(); if (dest) { aux = dest.split(','); dest = new google.maps.LatLng(parseFloat(aux[0]), parseFloat(aux[1])); } else { dest = $('input[data-field=input-to]', elm).val(); } var travelMode = $('button.btn-primary[data-field=travel-mode]', elm).val(); if (source & dest && travelMode) { fnCreateDirections(source, dest, travelMode); } }; var fnClearDirections = function (scroll) { $('.tcm-component-map-container', elm).removeClass('with-route-result'); $('.tcm-component-map-route-result-inner', elm).html(''); directionsRenderer.setMap(null); $.each(markers, function () { this.setVisible(true); }); if (scroll === true) $("html, body").stop().animate({ scrollTop: $('.tcm-component-map-embed', elm).offset().top - 8 }, '500', 'swing'); }; // Init mapObj = fnConfigureMap(); markers = fnConfigureMarkers(); directionsRenderer = fnConfigureDirectionsRenderer(); $('.form-control', elm).each(function () { var input = this; var autocomplete = new google.maps.places.Autocomplete(input); autocomplete.bindTo('bounds', mapObj); autocomplete.addListener('place_changed', function () { var place = autocomplete.getPlace(); $(input).next().val(place.geometry.location.lat().toString() + ',' + place.geometry.location.lng().toString()); fnRefresh(); }); }); $('.btn-toolbar .btn', elm).on('click', function (event) { event.preventDefault(); var _parent = $(this).closest('.btn-toolbar'); _parent.find('.btn.btn-primary').removeClass('btn-primary').addClass('btn-secondary'); $(this).removeClass('btn-secondary').addClass('btn-primary'); fnRefresh(); }); $('.form-control', elm).on('change', function () { $(this).next('input[type=hidden]').val(''); fnRefresh(); }); $('.btn-close-route', elm).on('click', function (event) { event.preventDefault(); fnClearDirections(true); }); // Cria rota inicial fnRefresh(); }); }); }; TCM.Templates.v1.Components.MediaGallery1 = {}; TCM.Templates.v1.Components.MediaGallery1.Init = function (container) { //var items = $('.media-gallery-carousel-item').length, // slides; $('.tcm-component-media-gallery-1', container || window.document).each(function (ielm, elm) { var clientID = $(elm).attr('id'); var highlightOptions = { slidesToShow: 1, slidesToScroll: 1, arrows: $('.media-gallery-highlight', elm).data().slickArrows ? true : false, dots: $('.media-gallery-highlight', elm).data().slickDots ? true : false, fade: true, adaptiveHeight: true, responsive: [ { breakpoint: 600, settings: { arrows: false } } ] }; if (parseInt($('.media-gallery-highlight', elm).attr('data-initial-slide'))) highlightOptions.initialSlide = parseInt($('.media-gallery-highlight', elm).attr('data-initial-slide')); $('.media-gallery-highlight', elm).slick(highlightOptions); $('.media-gallery-highlight', elm).on('beforeChange', function (event, slick, currentSlide, nextSlide) { //$('.media-gallery-highlight', elm).find('iframe').remove(); var iframe = $('.media-gallery-highlight', elm).find('.media-gallery-carousel-item:not(.slick-cloned)').eq(currentSlide).find('iframe[data-src]'); iframe.attr('src', iframe.data('src')); // recarega o iframe para parar o vídeo }); //$('.media-gallery-carousel-item a[data-type="video"]', elm).on('click', function (event) { // event.preventDefault(); // $('').attr('src', $(this).attr('href')).attr('frameborder', '0').attr('allowfullscreen', 'allowfullscreen').appendTo($(this).parent()); //}); }); }; TCM.Templates.v1.Components.MediaGallery2 = {}; TCM.Templates.v1.Components.MediaGallery2.Init = function (container) { //var items = $('.media-gallery-carousel-item').length, // slides; $('.tcm-component-media-gallery-2', container || window.document).each(function (ielm, elm) { var clientID = $(elm).attr('id'); var highlightOptions = { slidesToShow: 1, slidesToScroll: 1, arrows: $('.media-gallery-highlight', elm).data().slickArrows ? true : false, dots: $('.media-gallery-highlight', elm).data().slickDots ? true : false, fade: false, adaptiveHeight: true, infinite: true //responsive: [ // { // breakpoint: 600, // settings: { // arrows: false // } // } //] }; if ($('.media-gallery-thumbs', elm).length) highlightOptions.asNavFor = '#' + clientID + '-thumbs'; if (parseInt($('.media-gallery-highlight', elm).attr('data-initial-slide'))) highlightOptions.initialSlide = parseInt($('.media-gallery-highlight', elm).attr('data-initial-slide')); $('.media-gallery-highlight', elm).slick(highlightOptions); $('.media-gallery-highlight', elm).on('beforeChange', function (event, slick, currentSlide, nextSlide) { var iframe = $('.media-gallery-highlight', elm).find('.media-gallery-carousel-item:not(.slick-cloned)').eq(currentSlide).find('iframe[data-src]'); iframe.attr('src', iframe.data('src')); // recarega o iframe para parar o vídeo $(elm).find('.media-gallery-carousel-item.zoom').removeClass('zoom'); }); //if (items < 7) { // $('.media-gallery-carousel', elm).on('init', function (event, slick) { // $(this).find('.slick-track').addClass('slick-no-slide'); // $(this).find('.slick-slide').addClass('slick-no-slide'); // }); //} if ($('.media-gallery-thumbs', elm).length) { $('.media-gallery-thumbs', elm).slick({ slidesToShow: 5, slidesToScroll: 1, asNavFor: '#' + clientID + '-highlight', infinite: true, arrows: $('.media-gallery-thumbs', elm).data().slickArrows ? true : false, dots: $('.media-gallery-thumbs', elm).data().slickDots ? true : false, focusOnSelect: true, variableWidth: false }); } //$('.media-gallery-carousel-item a[data-type="video"]', elm).on('click', function (event) { // event.preventDefault(); // $('').attr('src', $(this).attr('href')).attr('frameborder', '0').attr('allowfullscreen', 'allowfullscreen').appendTo($(this).parent()); //}); }); }; TCM.Templates.v1.Components.MediaGallery3 = {}; TCM.Templates.v1.Components.MediaGallery3.Init = function (container) { $('.tcm-component-media-gallery-3,[data-toggle=tcm-component-media-gallery-3]', container || window.document).each(function (ielm, elm) { var mediaComponent = $(elm); var imageLinks = $(elm).find('.tcm-component-media-gallery-3-link,[data-toggle=tcm-component-media-gallery-3-link]'); var imageArray = []; if (mediaComponent.data('source') === 'script') { var script = mediaComponent.find('[data-toggle=tcm-component-media-gallery-3-source-items]'); imageArray = JSON.parse(script.html()); } else { imageLinks.attr('data-image-loaded', false); $(imageLinks).each(function () { var item = { title: $(this).attr('title'), type: $(this).data('type'), imageUrl: $(this).attr('href'), videoUrl: '', videoId: '', networksShareHtml: '', imageLoaded: false }; if (item.type === 'video') { item.videoUrl = $(this).data('videoUrl'); item.videoId = $(this).data('videoId'); } if ($(this).find('[data-include-component-social-networks-share-1=true]').length) { item.networksShareHtml = $(this).find('[data-include-component-social-networks-share-1=true]').html(); } imageArray.push(item); }); } if ($(this).is('.tcm-component-media-gallery-3')) { if (imageArray.length > 4) { var totalImgs = imageArray.length; totalImgs -= 4; if (totalImgs > 99) { totalImgs = 99; } $(elm).find('.media-gallery-image-container:visible:last').append( $('').addClass('more-imgs').text('+' + totalImgs) ); $(elm).find('.media-gallery-image-container:visible:last').closest('.tcm-component-media-gallery-3-link').addClass('last-visible-item'); } } $(imageLinks).on('click', function (e) { e.preventDefault(); var _this = this; var idx = parseInt($(this).attr('data-index')); var startIdx = idx - 5; var endIdx = idx + 10; if (startIdx < 0) startIdx = 0; if (endIdx >= imageArray.length) endIdx = imageArray.length - 1; var imgs = []; for (i = startIdx; i <= endIdx; i++) { imgs.push(imageArray[i].imageUrl); } TCM.UI.Loading.Start(); TCM.UI.ImageUtility.LoadAsync({ Items: imgs, Callback: function () { TCM.UI.Loading.Stop(); var divMediaGallery2 = $('').addClass('tcm-component-media-gallery-2'); var divMediaGallery2Highlight = $('').addClass('media-gallery-highlight').attr('data-slick-arrows', 'true').attr('data-initial-slide', $(_this).attr('data-index')).appendTo(divMediaGallery2); $(imageArray).each(function () { var imgTitle = this.title; var divItem = $('').addClass('media-gallery-carousel-item').addClass('zoom-enabled'); var linkItem = $('').attr('data-type', this.type).appendTo(divItem); $('').addClass('media-gallery-image').attr('src', this.imageUrl).attr('alt', imgTitle).attr('title', imgTitle).appendTo(linkItem); if (this.type === 'video') { $('').attr('src', this.videoUrl).attr('data-src', this.videoUrl).attr('frameborder', '0').attr('allowfullscreen', 'allowfullscreen').appendTo(linkItem); } if (imgTitle) $('').addClass('media-gallery-carousel-item-title').text(imgTitle).appendTo(divItem); if (this.networksShareHtml) { $(this.networksShareHtml).appendTo(divItem); } divItem.find('[data-type=image] img.media-gallery-image').on('click', function (event) { event.preventDefault(); $(this).closest('.media-gallery-carousel-item').toggleClass('zoom'); }); divItem.appendTo(divMediaGallery2Highlight); }); $('body').addClass('tcm-component-media-gallery-3-active'); var modal = $('').addClass('tcm-slider-backdrop').addClass('show').append( $('') .attr("type", "button") .addClass('close-slider') .append( $('') .addClass('fal fa-times') ).on('click', function () { $(this).closest('.tcm-slider-backdrop').remove(); $('body').removeClass('tcm-component-media-gallery-3-active'); }), divMediaGallery2 ).appendTo('body'); TCM.UI.SocialSharePopup.Init(modal); TCM.Templates.v1.Components.SocialNetworksShare.Init(modal); TCM.Templates.v1.Components.MediaGallery2.Init(modal); } }); }); }); }; TCM.Templates.v1.Components.ModalVideo = {}; TCM.Templates.v1.Components.ModalVideo.Init = function (container) { $('[data-toggle=tcm-modal-video]', container || window.document).on('click', function (event) { event.preventDefault(); var videoType = $(this).attr('data-tcm-modal-video-type'); var videoID = $(this).attr('data-tcm-modal-video-id'); var videoUrl = $(this).attr('data-tcm-modal-video-url'); var videoAutoPlay = $(this).attr('data-tcm-modal-video-autoplay') ?? '1'; var videoMute = $(this).attr('data-tcm-modal-video-mute') ?? '0'; if ((!videoType || !videoID) & videoUrl) { var aux = TCM.Framework.ParseVideoUrl(videoUrl); videoType = aux.Type; videoID = aux.ID; } if (videoType & videoID) { var iframeUrl = ''; if (videoType == 'youtube') iframeUrl = "https://www.youtube.com/embed/" + videoID + "?rel=0&controls=0&showinfo=0&autoplay=" + videoAutoPlay + "&mute=" + videoMute + ""; else if (videoType == 'vimeo') iframeUrl = "//player.vimeo.com/video/" + videoID + "?autoplay=" + videoAutoPlay + ""; if (iframeUrl) { var modal = $("").addClass("tcm-component-modal-video overlay").append( $("").attr("type", "button").addClass("tcm-video-close").append($('').addClass('fal fa-times')), $("").addClass("tcm-video-player").append( $("").attr({ "src": iframeUrl, "frameborder": "0", "allow": "autoplay; encrypted-media", "allowfullscreen": "allowfullscreen" }) ) ).appendTo('body'); modal.find('.tcm-video-close').on('click', function (ecm) { ecm.preventDefault(); modal.remove(); }); } } }); }; TCM.Templates.v1.Components.PageBlockHightlightBackground = {}; TCM.Templates.v1.Components.PageBlockHightlightBackground.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockHighlightFeatures = {}; TCM.Templates.v1.Components.PageBlockHighlightFeatures.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockHightlightGallery = {}; TCM.Templates.v1.Components.PageBlockHightlightGallery.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockHighlightTestimony = {}; TCM.Templates.v1.Components.PageBlockHighlightTestimony.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockHighlightText = {}; TCM.Templates.v1.Components.PageBlockHighlightText.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockLinks = {}; TCM.Templates.v1.Components.PageBlockLinks.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockHightlightGallery = {}; TCM.Templates.v1.Components.PageBlockHightlightGallery.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockPartial = {}; TCM.Templates.v1.Components.PageBlockPartial.Init = function (container) { }; TCM.Templates.v1.Components.PageBlockVideo = {}; TCM.Templates.v1.Components.PageBlockVideo.Init = function (container) { }; TCM.Templates.v1.Components.SearchBar = {}; TCM.Templates.v1.Components.SearchBar.Init = function (container) { $('.tcm-component-search-bar', container || window.document).each(function () { var div = $(this); var btn = div.find('.btn-search'); var cont = div.find('.field-search-container'); var field = cont.find('.field-search'); var form = cont.closest('form'); btn.click(function (e) { e.preventDefault(); if (cont.hasClass('active')) { if (field.val()) form.submit(); else cont.removeClass('active'); } else { cont.addClass('active'); field.focus(); } }) }) }; TCM.Templates.v1.Components.SideMenu = {}; TCM.Templates.v1.Components.SideMenu.Init = function (container) { $('.tcm-component-side-menu', container || window.document).each(function(ielm, elm){ var firstLvl = $('.first-level', elm); var firstLvlDropdown = $('.open-side', elm); var secondLvl = $('.second-level', elm); var closeSecondlvl = $('.back-menu', elm); var secondLvlDropdown = $('.dropdown', elm); var thirdLvl = $('.third-level', elm); firstLvlDropdown.click(function (e) { e.preventDefault(); if ($(this).hasClass('active')) { firstLvl.removeClass('active'); firstLvlDropdown.removeClass('active'); secondLvl.removeClass('active'); } else { firstLvl.addClass('active'); firstLvlDropdown.removeClass('active'); secondLvl.removeClass('active'); $(this).addClass('active'); $(this).next(secondLvl).addClass('active'); thirdLvl.slideUp(); secondLvlDropdown.removeClass('active'); } }); closeSecondlvl.click(function (e) { e.preventDefault(); firstLvl.removeClass('active'); firstLvlDropdown.removeClass('active'); secondLvl.removeClass('active'); thirdLvl.slideUp(); }); secondLvlDropdown.click(function (e) { e.preventDefault(); if ($(this).hasClass('active')) { $(this).next('.third-level').slideUp(function () { secondLvlDropdown.removeClass('active'); }); } else { $(this).addClass('active'); $(this).next('.third-level').slideDown(); } }); }); }; TCM.Templates.v1.Components.SocialNetworksShare = {}; TCM.Templates.v1.Components.SocialNetworksShare.Init = function (container) { $('.tcm-component-social-networks [data-clipboard-text]', container || window.document).each(function (ielm, elm) { if (window.Clipboard) { $(this).on('click', function (event) { event.preventDefault(); }); var clipboard = new Clipboard(this); clipboard.on('error', function (e) { console.error('Action:', e.action); console.error('Trigger:', e.trigger); $(elm).closest('.social-network').hide(); }); if (window.Popper) { $(elm).popover({ content: TCM.Globalization.Translates.Copied || 'Copiado!', template: '', placement: 'top', trigger: 'manual' }); clipboard.on('success', function (e) { $(elm).popover('show'); setTimeout(function () { $(elm).popover('hide'); }, 2000); }); } } else { $(this).closest('.social-network').hide(); } }); }; TCM.Templates.v1.Components.TGEMenu = {}; TCM.Templates.v1.Components.TGEMenu.Init = function (container) { $('.tcm-component-tge-menu', container || window.document).each(function (ielm, elm) { var currentTab = $('.tge-menu-tabs .active', elm).index() || 0; $('.tge-menu-tabs-slick', elm).slick({ infinite: false, centerMode: true, //variableWidth: true, slidesToShow: 1, asNavFor: '#' + $(elm).attr('id') + '-tab-contents', focusOnSelect: true, arrows: true, dots: false, initialSlide: currentTab }); $('.tge-menu-tab-contents', elm).slick({ infinite: false, slidesToShow: 1, slidesToScroll: 1, arrows: false, fade: true, asNavFor: '#' + $(elm).attr('id') + '-tabs', initialSlide: currentTab }); $('[data-toggle=tcm-tge-menu-navigate]', elm).on('click', function (e) { e.preventDefault(); $(this).closest('.tge-menu-tab-content').find('.tge-menu-tab-content-area').hide(); $($(this).attr('data-target') || $(this).attr('href')).fadeIn(); }); }); //$('header .navbar-toggle').on('click', function () { // $('header').toggleClass('menu-active'); //}); }; TCM.Templates.v1.Components.TopN = {}; TCM.Templates.v1.Components.TopN.Init = function (container) { var more = $('[data-toggle=tcm-top-n-show-more]', container || window.document); var less = $('[data-toggle=tcm-top-n-show-less]', container || window.document); more.on('click', function (event) { event.preventDefault(); $(this).parents('ul').addClass('all-visible'); }); less.on('click', function (event) { event.preventDefault(); $(this).parents('ul').removeClass('all-visible'); }); }; (function ($) { var _count = 0; var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcInput.defaults, options); this.each(function (index, item) { var $input = $(item); var placeholder = $input.attr('data-placeholder') || TCM.Globalization.Translates.NoFileSelected; var value = $input.val(); var inputFileID = $input.attr('data-input-file'); if (!inputFileID) { inputFileID = 'tcm-component--input-file-' + _count; _count = _count + 1; } var group = $('').addClass('input-group tcm-component--input-group'); var formControl = $('').addClass('form-control placeholder').attr('for', inputFileID).appendTo(group); var buttons = $('').addClass('input-group-append').appendTo(group); var Button = $('').addClass('btn btn-primary').attr('for', inputFileID).attr('data-toggle', '') .append($('').addClass('fal fa- fa-fw')) .appendTo(buttons); var clearButton = $('').addClass('btn btn-primary').attr('type', 'button').attr('disabled', 'disabled').attr('data-toggle', 'clear') .append($('').addClass('fal fa-trash-alt fa-fw')) .appendTo(buttons); var formControlSpan = $('').text(placeholder).appendTo(formControl); if (value) { formControl.removeClass('placeholder'); formControlSpan.text(value); clearButton.removeAttr('disabled'); } clearButton.on('click', function (event) { event.preventDefault(); $input.tcmcInput('clear'); }); group.insertAfter($input); if (!$input.attr('data-input-file')) { $('') .hide() .attr('type', 'file') .attr('id', inputFileID) .attr('name', inputFileID) .insertAfter($input) .on('change', function (event) { var file = this.files[0]; $(this).val(''); TCM.Templates.v1.Components.Manager.Show({ Files: [file], Callback: function (data) { if (data.SuccessItems.length > 0) { $input.tcmcInput('setFile', data.SuccessItems[0].File); } } }); }); } var hiddenDiv = $('').css('visibility', 'hidden').addClass('tcm-component--input-hidden').height(0).insertAfter($input); $input.appendTo(hiddenDiv); }); return this; }, setFile: function (file) { this.each(function (index, item) { var $input = $(item); var placeholder = $input.attr('data-placeholder') || TCM.Globalization.Translates.NoFileSelected; var group = $input.closest('.tcm-component--input-hidden').next().next(); var clearButton = group.find('[data-toggle=clear]'); var formControl = group.find('.form-control'); var formControlSpan = formControl.find('span'); if (file) { $input.data({ File: file }); $input.val(file.FileName).change(); formControl.removeClass('placeholder'); formControlSpan.text(file.OriginalFileName || file.Title); clearButton.removeAttr('disabled'); } else { $input.removeData('File').val('').change(); formControl.addClass('placeholder'); formControlSpan.text(placeholder); clearButton.attr('disabled', 'disabled'); } }); return this; }, getFile: function () { var rt = []; this.each(function (index, item) { var $input = $(item); rt.push($input.data('File')); }); if (rt.length === 1) return rt[0]; else return rt; }, clear: function () { return this.tcmcInput('setFile', null); } }; $.fn.tcmcInput = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcInput.defaults = { }; $.fn.tcmcInput.init = function (container) { $('input[type=text][data-toggle=tcm-component--input],input[type=text].tcm-component--input', container || window.document).tcmcInput(); }; }(jQuery)); (function ($) { var _count = 0; var methods = { init: function (options) { var opts = $.extend({}, $.fn.tcmcList.defaults, options); this.each(function (index, item) { var $ul = $(item); $ul.addClass('no-files'); var inputFileID = ''; if ($ul.attr('id')) inputFileID = $ul.attr('id') + '-input-file'; else { inputFileID = 'tcm-component--list-input-file' + _count; _count = _count + 1; } var $label = $('') .attr('for', inputFileID) .append($('').addClass('fal fa-fw fa-')) .append($('').text($ul.attr('data-button-text') || TCM.Globalization.Translates.AddFiles)) .addClass('tcm-component--list-btn btn btn-primary') .insertAfter($ul); var $input = $('') .hide() .attr('type', 'file') .attr('id', inputFileID) .attr('name', inputFileID) .attr('multiple', 'multiple') .addClass('tcm-component--list-input-file') .insertAfter($label) .on('change', function (event) { var files = Array.from(this.files); $(this).val(''); TCM.Templates.v1.Components.Manager.Show({ Files: files, Callback: function (data) { if (data.SuccessItems.length > 0) { $ul.tcmcList('addFiles', data.SuccessItems.map(a => a.File)); } } }); }); if ($ul.attr('data-input-file-accept')) $input.attr('accept', $ul.attr('data-input-file-accept')); }); return this; }, addFiles: function (files) { this.each(function (index, item) { var $ul = $(item); var $label = $ul.next('.tcm-component--list-btn'); var $input = $label.next('.tcm-component--list-input-file'); $ul.removeClass('no-files'); $.each(files, (ifile, file) => { var $li = $('') .attr('title', file.Title || file.OriginalFileName) .addClass('tcm-component--list-item') .data({ File: file }) .appendTo($ul); var $text = $('') .addClass('tcm-component--list-item-text') .text(file.OriginalFileName || file.Title) .appendTo($li); var $btn = $('') .attr('type', 'button') .attr('title', TCM.Globalization.Translates.Remove) .addClass('tcm-component--list-item-btn btn btn-link') .append($('').addClass('fal fa-fw fa-trash-alt')) .appendTo($li) .on('click', function (event) { event.preventDefault(); $(this).closest('.tcm-component--list-item').remove(); }); }); }); return this; }, getFiles: function () { var rt = []; this.each(function (index, item) { var $ul = $(item); $ul.find('.tcm-component--list-item').each(function (ifile, file) { rt.push($(file).data('File')); }); }); return rt; }, clear: function () { this.each(function (index, item) { var $ul = $(item); $ul.find('.tcm-component--list-item').remove(); $ul.addClass('no-files'); }); return this; } }; $.fn.tcmcList = function (methodOrOptions) { if (methods[methodOrOptions]) { return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1)); } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { return methods.init.apply(this, arguments); } }; $.fn.tcmcList.defaults = { }; $.fn.tcmcList.init = function (container) { $('.tcm-component--list', container || window.document).tcmcList(); }; }(jQuery)); TCM.Templates.v1.Components.Manager = {}; TCM.Templates.v1.Components.Manager.Show = function (params) { var _params = { Files: [], Title: TCM.Globalization.Translates.ing, AutoClose: true, Callback: function () { } }; $.extend(_params, params); $('body').addClass('tcm-component--manager-active'); var array = $(_params.Files).toArray(); var container = $('').addClass('tcm-component--manager').hide().appendTo('body'); var box = $('').addClass('tcm-component--manager-inner').appendTo(container); $('').text(_params.Title).appendTo(box); var ul = $('').appendTo(box); $(array).each(function () { $('').addClass('pending') .data({ sourceFile: this }) .append($('').text(this.name).attr('title', this.name)) .append($('').addClass('fal fa-check-circle item-completed')) .append($('').addClass('fal fa-spinner fa-spin item-ing')) .append($('').addClass('item-error-description')) .appendTo(ul); }); ul.mCustomScrollbar({ theme: "dark-thin" }); var getData = function () { var data = {}; data.Cancel = false; data.SuccessItems = $('li.completed', '.tcm-component--manager').map(function () { return $(this).data().file; }).toArray(); data.ErrorItems = $('li.error', '.tcm-component--manager').map(function () { return { SourceFile: $(this).data().sourceFile, Result: $(this).data().file }; }).toArray(); data.PendingItems = $('li.pending', '.tcm-component--manager').map(function () { return $(this).data().sourceFile; }).toArray(); return data; }; var buttons = $('').addClass('tcm-component--manager-buttons').appendTo(box); $('').hide().addClass('btn btn-primary btn-sm btn-confirm').text('OK').appendTo(buttons).on('click', function () { var data = getData(); TCM.Templates.v1.Components.Manager.Hide(function () { _params.Callback(data); }); }); $('').addClass('btn btn-primary btn-sm btn-cancel').text(TCM.Globalization.Translates.Cancel).appendTo(buttons).on('click', function () { var data = getData(); data.Cancel = true; ul.find('li.pending').addClass('cancel').removeClass('pending'); TCM.Templates.v1.Components.Manager.Hide(function () { _params.Callback(data); }); }); var fn = function () { var li = ul.find('li.pending').eq(0); if (li.length === 0) { var data = getData(); if (_params.AutoClose & data.ErrorItems.length === 0) { TCM.Templates.v1.Components.Manager.Hide(function () { _params.Callback(data); }); } else { if (data.SuccessItems.length > 0) $('.btn-confirm', '.tcm-component--manager').show(); } return; } li.removeClass('pending').addClass('ing'); var sourceFile = li.data().sourceFile; TCM.Infrastructure.File(sourceFile, function (rt) { li.data({ sourceFile: sourceFile, file: rt }).removeClass('ing'); if (rt.Status) { li.addClass('completed'); } else { li.addClass('error'); li.find('.item-completed').attr('title', rt.Message); li.find('.item-error-description').text(rt.Message); } fn(); }); }; container.fadeIn(400, function () { setTimeout(fn, 500); }); }; TCM.Templates.v1.Components.Manager.Hide = function (callback) { $('.tcm-component--manager').fadeOut(400, function () { $(this).remove(); $('body').removeClass('tcm-component--manager-active'); if (callback) callback(); }); }; TCM.Templates.v1.Components.ZipCodeSearch = {}; TCM.Templates.v1.Components.ZipCodeSearch.Init = function (container) { $('input[type=text][data-toggle=tcm-component-zipcode-search],input[type=text].tcm-component-zipcode-search', container || window.document).each(function () { var input = $(this); var group = $('').addClass('input-group tcm-component-zipcode-search-group').insertAfter(input); input.appendTo(group); var buttons = $('').addClass('input-group-append').appendTo(group); if (input.data().AddressForm) { var go = $('').addClass('btn btn-primary').attr('type', 'button').append($('').addClass('fal fa-angle-right fa-fw')) .click(function (event) { event.preventDefault(); input.data().AddressForm.SearchZipCode(); }) .appendTo(buttons); } var search = $('').addClass('btn btn-primary').attr('type', 'button').append($('').addClass('fal fa-search fa-fw')).appendTo(buttons); search.on('click', function (event) { event.preventDefault(); var countryName = input.attr('data-zipcode-search-country') || 'brasil'; var modal = TCM.Templates.v1.Components.CreateModal({ Title: TCM.Globalization.Translates.SearchForZipCode, DestroyOnHide: true, IncludeFooter: false, Size: 'full-width', CssClass: 'tcm-component-zipcode-search-modal' }); var modalBody = modal.find('.modal-body'); var row = $('').addClass('row').appendTo(modalBody); var col1 = $('').addClass('col-12 col-lg-3').appendTo(row); var col2 = $('').addClass('col-12 col-lg-9').appendTo(row); // == col 1 == var form = $('').appendTo(col1); var formGroup; formGroup = $('').addClass('form-group').appendTo(form); $('').text(TCM.Globalization.Translates.Province).appendTo(formGroup); var provinceShortName = $('').addClass('form-control') .attr({ id: 'tcm-component-zipcode-search-province-shortname', name: 'tcm-component-zipcode-search-province-shortname' }) .change(function () { TCM.UI.Loading.Start(); $('option', cityName).remove(); TCM.Location.City.Search({ CountryName: countryName, ProvinceShortName: provinceShortName.val(), Callback: function (rt) { TCM.UI.Loading.Stop(); $('').text('').val('').appendTo(cityName); if (rt & rt.Status) { $(rt.Data).each(function () { $('').text(this.Name).val(this.Name).appendTo(cityName); }); } } }); }).appendTo(formGroup); if (jQuery & jQuery.validator) { provinceShortName.attr({ "data-val": "true", "data-val-required": TCM.Globalization.Translates.RequiredField }); $('').attr({ "data-valmsg-for": "tcm-component-zipcode-search-province-shortname", "data-valmsg-replace": "true" }).appendTo(formGroup); } formGroup = $('').addClass('form-group').appendTo(form); $('').text(TCM.Globalization.Translates.City).appendTo(formGroup); var cityName = $('').addClass('form-control').attr({ id: 'tcm-component-zipcode-search-city-name', name: 'tcm-component-zipcode-search-city-name' }).appendTo(formGroup); if (jQuery & jQuery.validator) { cityName.attr({ "data-val": "true", "data-val-required": TCM.Globalization.Translates.RequiredField }); $('').attr({ "data-valmsg-for": "tcm-component-zipcode-search-city-name", "data-valmsg-replace": "true" }).appendTo(formGroup); } formGroup = $('').addClass('form-group').appendTo(form); $('').text(TCM.Globalization.Translates.AddressStreet).appendTo(formGroup); var street = $('').attr({ type: 'text' }).addClass('form-control').attr({ id: 'tcm-component-zipcode-search-street', name: 'tcm-component-zipcode-search-street' }).appendTo(formGroup); if (jQuery & jQuery.validator) { street.attr({ "data-val": "true", "data-val-required": TCM.Globalization.Translates.RequiredField, "data-val-length": TCM.Globalization.Translates.YouMustEnterAtLeast3Characters, "data-val-length-min": "3" }); $('').attr({ "data-valmsg-for": "tcm-component-zipcode-search-street", "data-valmsg-replace": "true" }).appendTo(formGroup); } formGroup = $('').addClass('form-group').appendTo(form); var search = $('').addClass('btn btn-primary btn-block').attr({ type: 'button' }).text(TCM.Globalization.Translates.Search).appendTo(formGroup); // == col 2 == var noResultsMessage = $('').addClass('text-center m-4').hide().text(TCM.Globalization.Translates.NoResultsFound).appendTo(col2); // ==== search.click(function (event) { event.preventDefault(); if (jQuery & jQuery.validator) { if (!form.valid()) return; } TCM.UI.Loading.Start(); TCM.Location.ZipCode.Search({ CountryName: countryName, ProvinceShortName: provinceShortName.val(), CityName: cityName.val(), StreetContains: street.val(), Callback: function (rt) { col2.find('table').remove(); TCM.UI.Loading.Stop(); if (rt & rt.Status && rt.Data && rt.Data.length > 0) { noResultsMessage.hide(); col2.removeClass('align-self-center'); var divResponsive = $('').addClass('table-responsive').appendTo(col2); var table = $('').addClass('table table-striped').appendTo(divResponsive); var thead = $('').appendTo(table); $('') .append($('').text(TCM.Globalization.Translates.AddressStreet)) .append($('').text(TCM.Globalization.Translates.AddressComplement)) .append($('').text(TCM.Globalization.Translates.AddressDistrict)) .append($('').text(TCM.Globalization.Translates.City)) .append($('').text(TCM.Globalization.Translates.Province)) .append($('').text(TCM.Globalization.Translates.ZipCode)) .append($('')) .appendTo(thead); var tbody = $('').appendTo(table); $(rt.Data).each(function () { var link = $('').attr({ "href": "#" + this.Code, "data-zipcode": this.Code }); $('').addClass('fal fa-arrow-circle-right fa-fw').appendTo(link); link.click(function (event) { event.preventDefault(); input.val($(this).data().zipcode).change(); modal.modal('hide'); }); $('') .append($('').text(this.Street)) .append($('').text(this.Info)) .append($('').text(this.District)) .append($('').text(this.City.Name)) .append($('').text(this.Province.ShortName)) .append($('').text(this.Code)) .append($('').append(link)) .appendTo(tbody); }); } else { noResultsMessage.show(); col2.addClass('align-self-center'); } } }); }); TCM.UI.Loading.Start(); TCM.Location.Province.List({ CountryName: countryName, Callback: function (rt) { TCM.UI.Loading.Stop(); $('option', provinceShortName).remove(); $('').text('').val('').appendTo(provinceShortName); if (rt & rt.Status) { $(rt.Data).each(function () { $('').text(this.ShortName).val(this.ShortName).appendTo(provinceShortName); }); } } }); if (jQuery & jQuery.validator) { $.validator.unobtrusive.parse(form); } modal.modal('show'); }); }); }; 2d5lz