This commit is contained in:
root
2025-11-13 19:52:28 +03:00
parent 8aeeb05b7d
commit 807dec3b6c
4646 changed files with 163445 additions and 626017 deletions

View File

@@ -1 +0,0 @@
{"version":3,"file":"node.bundle.map.js","names":["this","BX","exports","isFunction","Landing","Utils","isString","isPlainObject","isArray","bind","proxy","data","Node","constructor","options","node","manifest","selector","onChangeHandler","onChange","onDesignShow","changeOptionsHandler","onChangeOptions","onDocumentClick","onDocumentKeydown","document","Object","freeze","dataset","isAllowInlineEdit","onAllowInlineEdit","event","keyCode","onEscapePress","getField","Error","showEditor","hideEditor","allowInlineEdit","isGrouped","group","length","setValue","value","preventSave","preventHistory","getValue","getAdditionalValue","extend","attrs","reduce","accumulator","key","apply","getIndex","index","parseInt","split","isSavePreventedValue","isSavePrevented","getBlock","PageObject","getBlocks","getByChildNode","preparePseudoUrl","url","urlIsChange","href","target","enabled","startsWith","storage"],"sources":["node.bundle.js"],"mappings":"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"}

View File

@@ -1,2 +0,0 @@
this.BX=this.BX||{};(function(e){"use strict";const t=BX.Landing.Utils.isFunction;const n=BX.Landing.Utils.isString;const i=BX.Landing.Utils.isPlainObject;const s=BX.Landing.Utils.isArray;const o=BX.Landing.Utils.bind;const r=BX.Landing.Utils.proxy;const a=BX.Landing.Utils.data;class l{constructor(e){this.node=e.node;this.manifest=i(e.manifest)?e.manifest:{};this.selector=n(e.selector)?e.selector:"";this.onChangeHandler=t(e.onChange)?e.onChange:function(){};this.onDesignShow=t(e.onDesignShow)?e.onDesignShow:function(){};this.changeOptionsHandler=t(e.onChangeOptions)?e.onChangeOptions:function(){};this.onDocumentClick=r(this.onDocumentClick,this);this.onDocumentKeydown=r(this.onDocumentKeydown,this);o(document,"click",this.onDocumentClick);o(document,"keydown",this.onDocumentKeydown);Object.freeze(this.manifest);this.node.dataset.selector=this.selector;if(this.isAllowInlineEdit()){this.onAllowInlineEdit()}}onDocumentClick(e){}onDocumentKeydown(e){if(e.keyCode===27){this.onEscapePress()}}onEscapePress(){}getField(){throw new Error("Must be implemented by subclass")}showEditor(){}hideEditor(){}onAllowInlineEdit(){}isAllowInlineEdit(){return this.manifest.allowInlineEdit!==false}isGrouped(){return typeof this.manifest.group==="string"&&this.manifest.group.length>0}setValue(e,t,n){throw new Error("Must be implemented by subclass")}getValue(){throw new Error("Must be implemented by subclass")}getAdditionalValue(){if(i(this.manifest.extend)&&s(this.manifest.extend.attrs)){return this.manifest.extend.attrs.reduce(((e,t)=>(e[t]=a(this.node,t),e)),{})}return{}}onChange(e){this.onChangeHandler.apply(null,[this,e])}getIndex(){let e=parseInt(this.selector.split("@")[1],10);e=e===e?e:0;return e}preventSave(e){this.isSavePreventedValue=e}isSavePrevented(){return!!this.isSavePreventedValue}getBlock(){return BX.Landing.PageObject.getBlocks().getByChildNode(this.node)}preparePseudoUrl(e){let t=false;if(!(e.href==="#"&&e.target==="")){t=true}if(e.href==="selectActions:"){e.href="";e.enabled=false;t=true}if(e.href.startsWith("product:")){e.target="_self";t=true}if(e.enabled!==false&&(e.href===""||e.href==="#")){e.enabled=false;t=true}if(e.target===""){e.target="_blank";t=true}if(t===true){return e}return null}}BX.Landing.Node=l;BX.Landing.Node.storage=[];e.Node=l})(this.BX.Landing=this.BX.Landing||{});
//# sourceMappingURL=node.bundle.map.js

View File

@@ -1,3 +1,4 @@
/* eslint-disable */
this.BX = this.BX || {};
this.BX.Landing = this.BX.Landing || {};
this.BX.Landing.Node = this.BX.Landing.Node || {};
@@ -8,7 +9,13 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var TableEditor = /*#__PURE__*/function () {
/**
* @param {HTMLElement} node
* @param {BX.Landing.Node.Text} textNode
* @param {boolean} [needInit=true] - If false, skips initialization.
*/
function TableEditor(node, textNode) {
var needInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
babelHelpers.classCallCheck(this, TableEditor);
this.textNode = textNode;
this.table = node.querySelector('.landing-table');
@@ -17,24 +24,31 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}
this.node = node;
this.tBody = this.node.getElementsByTagName('tbody')[0];
this.addTitles(this.node);
this.enableEditCells(this.table);
this.dragAndDropRows(this);
this.dragAndDropCols(this);
this.resizeColumn(this);
this.buildLines(this);
this.addRow(this);
this.addCol(this);
this.onUnselect(this);
this.unselect(this);
this.selectAll(this);
this.selectRow(this);
this.selectCol(this);
this.onCopyTable(this);
this.onDeleteElementTable(this);
this.onShowPopupMenu(this);
if (needInit === true) {
this.init();
}
}
babelHelpers.createClass(TableEditor, [{
key: "init",
value: function init() {
this.addTitles(this.node);
this.enableEditCells(this.table);
this.dragAndDropRows(this);
this.dragAndDropCols(this);
this.resizeColumn(this);
this.buildLines(this);
this.addRow(this);
this.addCol(this);
this.onUnselect(this);
this.unselect(this);
this.bindSelectAllHandler(this);
this.selectRow(this);
this.selectCol(this);
this.onCopyTable(this);
this.onDeleteElementTable(this);
this.onShowPopupMenu(this);
}
}, {
key: "addTitles",
value: function addTitles(tableNode) {
if (!tableNode.hasAttribute('title-added')) {
@@ -101,56 +115,67 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
});
}
}, {
key: "selectAll",
value: function selectAll(tableEditor) {
var thTech = tableEditor.table.querySelector('.landing-table-th-select-all');
main_core.Event.bind(thTech, 'click', function () {
var isSelectedTable = false;
if (tableEditor.table.classList.contains('table-selected-all')) {
isSelectedTable = true;
key: "bindSelectAllHandler",
value: function bindSelectAllHandler() {
var _this = this;
var thTech = this.table.querySelector('.landing-table-th-select-all');
if (thTech) {
main_core.Event.bind(thTech, 'click', function () {
_this.toggleSelectAll();
});
}
}
}, {
key: "toggleSelectAll",
value: function toggleSelectAll() {
var isSelectedTable = false;
if (this.table.classList.contains('table-selected-all')) {
isSelectedTable = true;
}
this.unselect(this, true);
var setRows = this.table.querySelectorAll('.landing-table-tr');
var count = 0;
setRows.forEach(function (row) {
var setTh = row.childNodes;
var index = 0;
var lastThIndex = 0;
row.childNodes.forEach(function (cell) {
if (cell.nodeType === 1) {
lastThIndex = index;
}
index++;
});
if (count > 0) {
var lastTh = setTh[lastThIndex];
if (isSelectedTable) {
lastTh.classList.remove('table-selected-all-right');
} else {
lastTh.classList.add('table-selected-all-right');
}
}
tableEditor.unselect(tableEditor, true);
var setRows = tableEditor.table.querySelectorAll('.landing-table-tr');
var count = 0;
setRows.forEach(function (row) {
var setTh = row.childNodes;
var index = 0;
var lastThIndex = 0;
row.childNodes.forEach(function (cell) {
if (cell.nodeType === 1) {
lastThIndex = index;
}
index++;
});
if (count > 0) {
var lastTh = setTh[lastThIndex];
if (isSelectedTable) {
lastTh.classList.remove('table-selected-all-right');
} else {
lastTh.classList.add('table-selected-all-right');
}
}
count++;
if (count === setRows.length) {
setTh.forEach(function (th) {
if (th.nodeType === 1) {
if (isSelectedTable) {
th.classList.remove('table-selected-all-bottom');
} else {
th.classList.add('table-selected-all-bottom');
}
count++;
if (count === setRows.length) {
setTh.forEach(function (th) {
if (th.nodeType === 1) {
if (isSelectedTable) {
th.classList.remove('table-selected-all-bottom');
} else {
th.classList.add('table-selected-all-bottom');
}
});
}
});
}
});
}
});
var thTech = this.table.querySelector('.landing-table-th-select-all');
if (thTech) {
thTech.classList.toggle('landing-table-th-select-all-selected');
tableEditor.table.classList.toggle('table-selected-all');
tableEditor.table.querySelectorAll('.landing-table-col-dnd').forEach(function (thDnd) {
thDnd.classList.toggle('landing-table-cell-selected');
});
tableEditor.table.querySelectorAll('.landing-table-row-dnd').forEach(function (trDnd) {
trDnd.classList.toggle('landing-table-cell-selected');
});
}
this.table.classList.toggle('table-selected-all');
this.table.querySelectorAll('.landing-table-col-dnd').forEach(function (thDnd) {
thDnd.classList.toggle('landing-table-cell-selected');
});
this.table.querySelectorAll('.landing-table-row-dnd').forEach(function (trDnd) {
trDnd.classList.toggle('landing-table-cell-selected');
});
}
}, {
@@ -259,7 +284,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}, {
key: "addRow",
value: function addRow(tableEditor) {
var _this = this;
var _this2 = this;
var neededPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var buttons = tableEditor.getButtonsAddRow(tableEditor.node);
if (neededPosition === null) {
@@ -350,7 +375,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
button.parentNode.parentNode.parentNode.insertBefore(newTr, button.parentNode.parentNode.nextSibling);
tableEditor.buildLines(tableEditor);
tableEditor.enableEditCells(tableEditor.node);
_this.textNode.onChange(true);
_this2.textNode.onChange(true);
tableEditor.selectRow(tableEditor, neededPosition);
tableEditor.addRow(tableEditor, neededPosition);
tableEditor.unselect(tableEditor);
@@ -366,7 +391,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}, {
key: "addCol",
value: function addCol(tableEditor) {
var _this2 = this;
var _this3 = this;
var neededPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var buttons = tableEditor.getButtonsAddCol(tableEditor.node);
if (neededPosition === null) {
@@ -457,7 +482,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}
tableEditor.buildLines(tableEditor);
tableEditor.enableEditCells(tableEditor.node);
_this2.textNode.onChange(true);
_this3.textNode.onChange(true);
tableEditor.selectCol(tableEditor, position);
tableEditor.addCol(tableEditor, position);
tableEditor.unselect(tableEditor);
@@ -468,7 +493,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}, {
key: "dragAndDropRows",
value: function dragAndDropRows(tableEditor) {
var _this3 = this;
var _this4 = this;
this.draggableRows = new ui_draganddrop_draggable.Draggable({
container: tableEditor.tBody,
draggable: '.landing-table-tr',
@@ -488,7 +513,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
var cloneRow;
var originalSource;
this.draggableRows.subscribe('start', function (event) {
originalSource = _this3.draggableRows.dragStartEvent.data.originalSource;
originalSource = _this4.draggableRows.dragStartEvent.data.originalSource;
tablePositionLeft = tableEditor.tBody.getBoundingClientRect().left;
tablePositionTop = tableEditor.tBody.getBoundingClientRect().top;
setRowPositionsY = [];
@@ -611,13 +636,13 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
}
}
tableEditor.tBody.classList.remove('landing-table-draggable');
_this3.textNode.onChange(true);
_this4.textNode.onChange(true);
});
}
}, {
key: "dragAndDropCols",
value: function dragAndDropCols(tableEditor) {
var _this4 = this;
var _this5 = this;
this.draggableCols = new ui_draganddrop_draggable.Draggable({
container: tableEditor.tBody,
draggable: '.landing-table-div-col-dnd',
@@ -775,14 +800,14 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
});
}
tableEditor.tBody.classList.remove('landing-table-draggable');
_this4.textNode.onChange(true);
_this5.textNode.onChange(true);
}
});
}
}, {
key: "resizeColumn",
value: function resizeColumn(tableEditor) {
var _this5 = this;
var _this6 = this;
var tbody = this.tBody;
this.resizeElement = new ui_draganddrop_draggable.Draggable({
container: tbody,
@@ -815,7 +840,7 @@ this.BX.Landing.Node = this.BX.Landing.Node || {};
tbody.parentElement.parentElement.classList.remove('landing-table-scroll-hidden');
}
tableEditor.buildLines(tableEditor);
_this5.textNode.onChange(true);
_this6.textNode.onChange(true);
});
}
}, {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,12 @@ import { Event } from 'main.core';
export class TableEditor
{
constructor(node: HTMLElement, textNode: BX.Landing.Node.Text)
/**
* @param {HTMLElement} node
* @param {BX.Landing.Node.Text} textNode
* @param {boolean} [needInit=true] - If false, skips initialization.
*/
constructor(node: HTMLElement, textNode: BX.Landing.Node.Text, needInit: boolean = true)
{
this.textNode = textNode;
this.table = node.querySelector('.landing-table');
@@ -14,6 +19,15 @@ export class TableEditor
}
this.node = node;
this.tBody = this.node.getElementsByTagName('tbody')[0];
if (needInit === true)
{
this.init();
}
}
init()
{
this.addTitles(this.node);
this.enableEditCells(this.table);
this.dragAndDropRows(this);
@@ -24,7 +38,7 @@ export class TableEditor
this.addCol(this);
this.onUnselect(this);
this.unselect(this);
this.selectAll(this);
this.bindSelectAllHandler(this);
this.selectRow(this);
this.selectCol(this);
this.onCopyTable(this);
@@ -110,67 +124,79 @@ export class TableEditor
});
}
selectAll(tableEditor)
bindSelectAllHandler()
{
const thTech = tableEditor.table.querySelector('.landing-table-th-select-all');
Event.bind(thTech, 'click', () => {
let isSelectedTable = false;
if (tableEditor.table.classList.contains('table-selected-all'))
const thTech = this.table.querySelector('.landing-table-th-select-all');
if (thTech)
{
Event.bind(thTech, 'click', () => {
this.toggleSelectAll();
});
}
}
toggleSelectAll()
{
let isSelectedTable = false;
if (this.table.classList.contains('table-selected-all'))
{
isSelectedTable = true;
}
this.unselect(this, true);
const setRows = this.table.querySelectorAll('.landing-table-tr');
let count = 0;
setRows.forEach((row) => {
const setTh = row.childNodes;
let index = 0;
let lastThIndex = 0;
row.childNodes.forEach((cell) => {
if (cell.nodeType === 1)
{
lastThIndex = index;
}
index++;
});
if (count > 0)
{
isSelectedTable = true;
const lastTh = setTh[lastThIndex];
if (isSelectedTable)
{
lastTh.classList.remove('table-selected-all-right');
}
else
{
lastTh.classList.add('table-selected-all-right');
}
}
tableEditor.unselect(tableEditor, true);
const setRows = tableEditor.table.querySelectorAll('.landing-table-tr');
let count = 0;
setRows.forEach((row) => {
const setTh = row.childNodes;
let index = 0;
let lastThIndex = 0;
row.childNodes.forEach((cell) => {
if (cell.nodeType === 1)
count++;
if (count === setRows.length)
{
setTh.forEach((th) => {
if (th.nodeType === 1)
{
lastThIndex = index;
}
index++;
});
if (count > 0)
{
const lastTh = setTh[lastThIndex];
if (isSelectedTable)
{
lastTh.classList.remove('table-selected-all-right');
}
else
{
lastTh.classList.add('table-selected-all-right');
}
}
count++;
if (count === setRows.length)
{
setTh.forEach((th) => {
if (th.nodeType === 1)
if (isSelectedTable)
{
if (isSelectedTable)
{
th.classList.remove('table-selected-all-bottom');
}
else
{
th.classList.add('table-selected-all-bottom');
}
th.classList.remove('table-selected-all-bottom');
}
});
}
});
else
{
th.classList.add('table-selected-all-bottom');
}
}
});
}
});
const thTech = this.table.querySelector('.landing-table-th-select-all');
if (thTech)
{
thTech.classList.toggle('landing-table-th-select-all-selected');
tableEditor.table.classList.toggle('table-selected-all');
tableEditor.table.querySelectorAll('.landing-table-col-dnd').forEach((thDnd) => {
thDnd.classList.toggle('landing-table-cell-selected');
});
tableEditor.table.querySelectorAll('.landing-table-row-dnd').forEach((trDnd) => {
trDnd.classList.toggle('landing-table-cell-selected');
});
}
this.table.classList.toggle('table-selected-all');
this.table.querySelectorAll('.landing-table-col-dnd').forEach((thDnd) => {
thDnd.classList.toggle('landing-table-cell-selected');
});
this.table.querySelectorAll('.landing-table-row-dnd').forEach((trDnd) => {
trDnd.classList.toggle('landing-table-cell-selected');
});
}

View File

@@ -1,3 +1,4 @@
/* eslint-disable */
this.BX = this.BX || {};
this.BX.Landing = this.BX.Landing || {};
(function (exports,main_core,landing_node_base,landing_node_tableeditor) {
@@ -49,12 +50,30 @@ this.BX.Landing = this.BX.Landing || {};
*/
onChange(preventAdjustPosition, preventHistory) {
super.onChange.call(this, preventHistory);
if (!preventAdjustPosition) {
BX.Landing.UI.Panel.EditorPanel.getInstance().adjustPosition(this.node);
}
this.processNewTableContainers();
if (!preventHistory) {
BX.Landing.History.getInstance().push();
}
if (!preventAdjustPosition) {
BX.Landing.UI.Panel.EditorPanel.getInstance().adjustPosition(this.node);
}
}
processNewTableContainers() {
const newTables = [...this.node.querySelectorAll('.landing-table-container-new')];
if (newTables.length === 0) {
return;
}
newTables.forEach(newTableElement => {
const tableEditor = new landing_node_tableeditor.TableEditor(newTableElement, this, false);
if (tableEditor.table) {
tableEditor.toggleSelectAll();
const thTech = tableEditor.table.querySelector('.landing-table-th-select-all');
if (thTech) {
this.addTableButtons(thTech);
}
}
newTableElement.classList.remove('landing-table-container-new');
});
}
onKeyDown(event) {
if (event.code === 'Backspace') {
@@ -194,7 +213,7 @@ this.BX.Landing = this.BX.Landing || {};
*/
onClick(event) {
if (this.isTable(event)) {
this.addTableButtons(event);
this.addTableButtons(event.srcElement);
}
event.stopPropagation();
event.preventDefault();
@@ -371,7 +390,10 @@ this.BX.Landing = this.BX.Landing || {};
table.setAttribute('table-prepare', 'true');
this.currentNode.onChange(true);
}
addTableButtons(event) {
addTableButtons(srcElement) {
if (!srcElement) {
return;
}
const buttons = [];
let neededButtons = [];
let setTd = [];
@@ -383,20 +405,20 @@ this.BX.Landing = this.BX.Landing || {};
let isButtonAddRow = false;
let isButtonAddCol = false;
let isNeedTablePanel = true;
if (BX.Dom.hasClass(event.srcElement, 'landing-table') || BX.Dom.hasClass(event.srcElement, 'landing-table-col-dnd')) {
if (BX.Dom.hasClass(srcElement, 'landing-table') || BX.Dom.hasClass(srcElement, 'landing-table-col-dnd')) {
isNeedTablePanel = false;
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-row-add')) {
if (BX.Dom.hasClass(srcElement, 'landing-table-row-add')) {
isButtonAddRow = true;
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-col-add')) {
if (BX.Dom.hasClass(srcElement, 'landing-table-col-add')) {
isButtonAddCol = true;
}
let hideButtons = [];
const nodeTableList = node.querySelectorAll('.landing-table');
if (nodeTableList.length > 0) {
nodeTableList.forEach(nodeTable => {
if (nodeTable.contains(event.srcElement)) {
if (nodeTable.contains(srcElement)) {
table = nodeTable;
return true;
}
@@ -405,12 +427,12 @@ this.BX.Landing = this.BX.Landing || {};
}
let isSelectedAll;
tableButtons.forEach(tableButton => {
tableButton.options.srcElement = event.srcElement;
tableButton.options.srcElement = srcElement;
tableButton.options.node = node;
tableButton.options.table = table;
});
if (BX.Dom.hasClass(event.srcElement, 'landing-table-row-dnd')) {
setTd = event.srcElement.parentNode.children;
if (BX.Dom.hasClass(srcElement, 'landing-table-row-dnd')) {
setTd = srcElement.parentNode.children;
setTd = [...setTd];
neededButtons = this.getAmountTableRows(table) > 1 ? [0, 1, 2, 3, 4, 5, 6] : [0, 1, 2, 3, 4, 5];
neededButtons.forEach(neededButton => {
@@ -419,8 +441,8 @@ this.BX.Landing = this.BX.Landing || {};
buttons.push(tableButtons[neededButton]);
});
}
if (BX.Dom.hasClass(event.srcElement.parentNode, 'landing-table-col-dnd')) {
const childNodes = event.srcElement.parentElement.parentElement.childNodes;
if (BX.Dom.hasClass(srcElement.parentNode, 'landing-table-col-dnd')) {
const childNodes = srcElement.parentElement.parentElement.childNodes;
const childNodesArray = [...childNodes];
const childNodesArrayPrepare = [];
childNodesArray.forEach(childNode => {
@@ -428,8 +450,8 @@ this.BX.Landing = this.BX.Landing || {};
childNodesArrayPrepare.push(childNode);
}
});
const neededPosition = childNodesArrayPrepare.indexOf(event.srcElement.parentElement);
const rows = event.srcElement.parentElement.parentElement.parentElement.childNodes;
const neededPosition = childNodesArrayPrepare.indexOf(srcElement.parentElement);
const rows = srcElement.parentElement.parentElement.parentElement.childNodes;
rows.forEach(row => {
if (row.nodeType === 1) {
const rowChildPrepare = [];
@@ -450,10 +472,10 @@ this.BX.Landing = this.BX.Landing || {};
buttons.push(tableButtons[neededButton]);
});
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-th-select-all')) {
if (BX.Dom.hasClass(event.srcElement, 'landing-table-th-select-all-selected')) {
if (BX.Dom.hasClass(srcElement, 'landing-table-th-select-all')) {
if (BX.Dom.hasClass(srcElement, 'landing-table-th-select-all-selected')) {
isSelectedAll = true;
const rows = event.srcElement.parentElement.parentElement.childNodes;
const rows = srcElement.parentElement.parentElement.childNodes;
rows.forEach(row => {
row.childNodes.forEach(th => {
setTd.push(th);
@@ -470,8 +492,8 @@ this.BX.Landing = this.BX.Landing || {};
BX.Landing.UI.Panel.EditorPanel.getInstance().hide();
}
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-td') || event.srcElement.closest('.landing-table-td') !== null) {
setTd.push(event.srcElement);
if (BX.Dom.hasClass(srcElement, 'landing-table-td') || srcElement.closest('.landing-table-td') !== null) {
setTd.push(srcElement);
neededButtons = [3, 2, 1, 0];
neededButtons.forEach(neededButton => {
tableButtons[neededButton].options.target = 'cell';
@@ -560,8 +582,8 @@ this.BX.Landing = this.BX.Landing || {};
return this.changeTagButton;
}
getTableButtons() {
this.buttons = [];
this.buttons.push(new BX.Landing.UI.Button.AlignTable('alignLeft', {
const buttons = [];
buttons.push(new BX.Landing.UI.Button.AlignTable('alignLeft', {
html: '<span class="landing-ui-icon-editor-left"></span>',
attrs: {
title: BX.Landing.Loc.getMessage('LANDING_TITLE_OF_EDITOR_ACTION_ALIGN_LEFT')
@@ -620,7 +642,7 @@ this.BX.Landing = this.BX.Landing || {};
title: BX.Landing.Loc.getMessage('LANDING_TITLE_OF_EDITOR_ACTION_TABLE_DELETE')
}
}, this.currentNode));
return this.buttons;
return buttons;
}
/**

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -57,15 +57,43 @@ export class Text extends Base
onChange(preventAdjustPosition, preventHistory)
{
super.onChange.call(this, preventHistory);
if (!preventAdjustPosition)
{
BX.Landing.UI.Panel.EditorPanel.getInstance().adjustPosition(this.node);
}
this.processNewTableContainers();
if (!preventHistory)
{
BX.Landing.History.getInstance().push();
}
if (!preventAdjustPosition)
{
BX.Landing.UI.Panel.EditorPanel.getInstance().adjustPosition(this.node);
}
}
processNewTableContainers()
{
const newTables = [...this.node.querySelectorAll('.landing-table-container-new')];
if (newTables.length === 0)
{
return;
}
newTables.forEach((newTableElement) => {
const tableEditor = new TableEditor(newTableElement, this, false);
if (tableEditor.table)
{
tableEditor.toggleSelectAll();
const thTech = tableEditor.table.querySelector('.landing-table-th-select-all');
if (thTech)
{
this.addTableButtons(thTech);
}
}
newTableElement.classList.remove('landing-table-container-new');
});
}
onKeyDown(event)
@@ -267,7 +295,7 @@ export class Text extends Base
{
if (this.isTable(event))
{
this.addTableButtons(event);
this.addTableButtons(event.srcElement);
}
event.stopPropagation();
@@ -490,8 +518,13 @@ export class Text extends Base
this.currentNode.onChange(true);
}
addTableButtons(event)
addTableButtons(srcElement)
{
if (!srcElement)
{
return;
}
const buttons = [];
let neededButtons = [];
let setTd = [];
@@ -504,19 +537,19 @@ export class Text extends Base
let isButtonAddCol = false;
let isNeedTablePanel = true;
if (
BX.Dom.hasClass(event.srcElement, 'landing-table')
|| BX.Dom.hasClass(event.srcElement, 'landing-table-col-dnd')
BX.Dom.hasClass(srcElement, 'landing-table')
|| BX.Dom.hasClass(srcElement, 'landing-table-col-dnd')
)
{
isNeedTablePanel = false;
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-row-add'))
if (BX.Dom.hasClass(srcElement, 'landing-table-row-add'))
{
isButtonAddRow = true;
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-col-add'))
if (BX.Dom.hasClass(srcElement, 'landing-table-col-add'))
{
isButtonAddCol = true;
}
@@ -525,7 +558,7 @@ export class Text extends Base
if (nodeTableList.length > 0)
{
nodeTableList.forEach((nodeTable) => {
if (nodeTable.contains(event.srcElement))
if (nodeTable.contains(srcElement))
{
table = nodeTable;
@@ -538,14 +571,14 @@ export class Text extends Base
let isSelectedAll;
tableButtons.forEach((tableButton) => {
tableButton.options.srcElement = event.srcElement;
tableButton.options.srcElement = srcElement;
tableButton.options.node = node;
tableButton.options.table = table;
});
if (BX.Dom.hasClass(event.srcElement, 'landing-table-row-dnd'))
if (BX.Dom.hasClass(srcElement, 'landing-table-row-dnd'))
{
setTd = event.srcElement.parentNode.children;
setTd = srcElement.parentNode.children;
setTd = [...setTd];
neededButtons = this.getAmountTableRows(table) > 1 ? [0, 1, 2, 3, 4, 5, 6] : [0, 1, 2, 3, 4, 5];
neededButtons.forEach((neededButton) => {
@@ -555,9 +588,9 @@ export class Text extends Base
});
}
if (BX.Dom.hasClass(event.srcElement.parentNode, 'landing-table-col-dnd'))
if (BX.Dom.hasClass(srcElement.parentNode, 'landing-table-col-dnd'))
{
const childNodes = event.srcElement.parentElement.parentElement.childNodes;
const childNodes = srcElement.parentElement.parentElement.childNodes;
const childNodesArray = [...childNodes];
const childNodesArrayPrepare = [];
childNodesArray.forEach((childNode) => {
@@ -566,8 +599,8 @@ export class Text extends Base
childNodesArrayPrepare.push(childNode);
}
});
const neededPosition = childNodesArrayPrepare.indexOf(event.srcElement.parentElement);
const rows = event.srcElement.parentElement.parentElement.parentElement.childNodes;
const neededPosition = childNodesArrayPrepare.indexOf(srcElement.parentElement);
const rows = srcElement.parentElement.parentElement.parentElement.childNodes;
rows.forEach((row) => {
if (row.nodeType === 1)
{
@@ -592,12 +625,12 @@ export class Text extends Base
});
}
if (BX.Dom.hasClass(event.srcElement, 'landing-table-th-select-all'))
if (BX.Dom.hasClass(srcElement, 'landing-table-th-select-all'))
{
if (BX.Dom.hasClass(event.srcElement, 'landing-table-th-select-all-selected'))
if (BX.Dom.hasClass(srcElement, 'landing-table-th-select-all-selected'))
{
isSelectedAll = true;
const rows = event.srcElement.parentElement.parentElement.childNodes;
const rows = srcElement.parentElement.parentElement.childNodes;
rows.forEach((row) => {
row.childNodes.forEach((th) => {
setTd.push(th);
@@ -618,11 +651,11 @@ export class Text extends Base
}
if (
BX.Dom.hasClass(event.srcElement, 'landing-table-td')
|| event.srcElement.closest('.landing-table-td') !== null
BX.Dom.hasClass(srcElement, 'landing-table-td')
|| srcElement.closest('.landing-table-td') !== null
)
{
setTd.push(event.srcElement);
setTd.push(srcElement);
neededButtons = [3, 2, 1, 0];
neededButtons.forEach((neededButton) => {
tableButtons[neededButton].options.target = 'cell';
@@ -744,8 +777,8 @@ export class Text extends Base
getTableButtons(): []
{
this.buttons = [];
this.buttons.push(
const buttons = [];
buttons.push(
new BX.Landing.UI.Button.AlignTable(
'alignLeft',
{
@@ -839,7 +872,7 @@ export class Text extends Base
),
);
return this.buttons;
return buttons;
}
/**

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
.landing-table-tr .landing-table-th-selected .landing-table-div-col-dnd,.landing-table-tr .landing-table-div-col-dnd:hover{ background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='18' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 3V0H0v3h3zm5 0V0H5v3h3zm10 0V0h-3v3h3zm-5-3v3h-3V0h3zm5 5v3h-3V5h3zM8 8V5H5v3h3zm5-3v3h-3V5h3zM3 8V5H0v3h3z' fill='%23fff'/%3E%3C/svg%3E") 50% no-repeat; background-position-x:calc(50% + 3px);background-position-y:calc(50% - 1px)}.landing-table-tr.landing-table-row-selected .landing-table-div-row-dnd,.landing-table-tr .landing-table-row-dnd:hover .landing-table-row-add:not(:hover)+.landing-table-div-row-dnd{height:inherit; background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 15H0v3h3v-3zm0-5H0v3h3v-3zM3 0H0v3h3V0zM0 5h3v3H0V5zm5-5h3v3H5V0zm3 10H5v3h3v-3zM5 5h3v3H5V5zm3 10H5v3h3v-3z' fill='%23fff'/%3E%3C/svg%3E") 50% no-repeat; background-position-x:calc(50% + 1px);pointer-events:none}.th-tech-icon{width:100%;height:100%;position:relative;left:0;top:0; background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='17' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='16.667' height='16.667' rx='8.333' fill='%23EDEEF0'/%3E%3Cpath opacity='.5' fill-rule='evenodd' clip-rule='evenodd' d='M7.505 9.28l4.4-4.345 1.333 1.339-5.713 5.663-.02-.02-.021.02-3.495-3.382 1.332-1.34L7.505 9.28z' fill='%23525C69'/%3E%3C/svg%3E") 50% no-repeat; pointer-events:none;background-size:contain !important}.landing-table-th-select-all:hover .th-tech-icon{ background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='17' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='16.667' height='16.667' rx='8.333' fill='%232FC6F6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.505 9.28l4.4-4.345 1.333 1.339-5.713 5.663-.02-.02-.021.02-3.495-3.382 1.332-1.34L7.505 9.28z' fill='%23fff'/%3E%3C/svg%3E") 50% no-repeat; }
.landing-table-th-select-all-selected .th-tech-icon {
background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='17' height='17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='16.667' height='16.667' rx='8.333' fill='%232FC6F6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.505 9.28l4.4-4.345 1.333 1.339-5.713 5.663-.02-.02-.021.02-3.495-3.382 1.332-1.34L7.505 9.28z' fill='%23fff'/%3E%3C/svg%3E") 50% no-repeat;}

File diff suppressed because one or more lines are too long