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,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