Update
This commit is contained in:
@@ -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
@@ -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
@@ -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
Reference in New Issue
Block a user