superdesk-ui-framework 3.0.35 → 3.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -109,6 +109,8 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
|
|
109
109
|
this.branchButton = this.branchButton.bind(this);
|
110
110
|
this.handleDebounce = this.handleDebounce.bind(this);
|
111
111
|
this.toggleMenu = this.toggleMenu.bind(this);
|
112
|
+
this.onMouseDown = this.onMouseDown.bind(this);
|
113
|
+
this.onKeyDown = this.onKeyDown.bind(this);
|
112
114
|
this.dropdownRef = React.createRef();
|
113
115
|
this.ref = React.createRef();
|
114
116
|
this.inputRef = React.createRef();
|
@@ -129,38 +131,47 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
|
|
129
131
|
this.categoryButtonRef.current?.focus();
|
130
132
|
}
|
131
133
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
134
|
+
onMouseDown = (event: MouseEvent) => {
|
135
|
+
if (
|
136
|
+
(this.dropdownRef.current?.contains(event.target as HTMLElement) !== true)
|
137
|
+
&& (this.openDropdownRef.current?.contains(event.target as HTMLElement) !== true)
|
138
|
+
) {
|
139
|
+
this.setState({openDropdown: false});
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
143
|
+
onKeyDown = (e: KeyboardEvent) => {
|
144
|
+
if (this.state.openDropdown && this.ref.current) {
|
145
|
+
keyboardNavigation(
|
146
|
+
e,
|
147
|
+
this.ref.current,
|
148
|
+
this.categoryButtonRef.current ? this.buttonFocus : this.inputFocus,
|
149
|
+
);
|
150
|
+
if (e.key === 'Backspace') {
|
151
|
+
this.backButton();
|
152
|
+
this.backButtonValue();
|
153
|
+
|
154
|
+
const {buttonTarget} = this.state;
|
155
|
+
const className = buttonTarget.pop();
|
156
|
+
|
157
|
+
if (className != null) {
|
158
|
+
const element: HTMLElement = document.getElementsByClassName(className)[0] as HTMLElement;
|
159
|
+
element.focus();
|
160
|
+
}
|
140
161
|
}
|
141
|
-
}
|
162
|
+
}
|
163
|
+
}
|
142
164
|
|
143
|
-
|
144
|
-
|
145
|
-
keyboardNavigation(
|
146
|
-
e,
|
147
|
-
this.ref.current,
|
148
|
-
this.categoryButtonRef.current ? this.buttonFocus : this.inputFocus,
|
149
|
-
);
|
150
|
-
if (e.key === 'Backspace') {
|
151
|
-
this.backButton();
|
152
|
-
this.backButtonValue();
|
165
|
+
componentDidMount = () => {
|
166
|
+
this.recursion(this.state.options);
|
153
167
|
|
154
|
-
|
155
|
-
|
168
|
+
document.addEventListener("mousedown", this.onMouseDown);
|
169
|
+
document.addEventListener("keydown", this.onKeyDown);
|
170
|
+
}
|
156
171
|
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
}
|
161
|
-
}
|
162
|
-
}
|
163
|
-
});
|
172
|
+
componentWillUnmount(): void {
|
173
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
174
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
164
175
|
}
|
165
176
|
|
166
177
|
componentDidUpdate(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>): void {
|
@@ -793,7 +804,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
|
|
793
804
|
}}
|
794
805
|
>
|
795
806
|
<button
|
796
|
-
className={`suggestion-item--btn ${this.props.getId(option.value)}`}
|
807
|
+
className={`suggestion-item--btn z${this.props.getId(option.value)}z`}
|
797
808
|
onKeyDown={(event) => {
|
798
809
|
if (event.key === 'Enter' && option.children) {
|
799
810
|
this.setState({
|
package/dist/examples.bundle.js
CHANGED
@@ -64238,30 +64238,32 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
64238
64238
|
var _a;
|
64239
64239
|
(_a = _this.categoryButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
64240
64240
|
};
|
64241
|
-
_this.
|
64242
|
-
|
64243
|
-
|
64244
|
-
|
64245
|
-
|
64246
|
-
|
64247
|
-
|
64248
|
-
|
64249
|
-
|
64250
|
-
|
64251
|
-
if (
|
64252
|
-
|
64253
|
-
|
64254
|
-
|
64255
|
-
|
64256
|
-
|
64257
|
-
var
|
64258
|
-
|
64259
|
-
var element = document.getElementsByClassName(className)[0];
|
64260
|
-
element.focus();
|
64261
|
-
}
|
64241
|
+
_this.onMouseDown = function (event) {
|
64242
|
+
var _a, _b;
|
64243
|
+
if ((((_a = _this.dropdownRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) !== true)
|
64244
|
+
&& (((_b = _this.openDropdownRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target)) !== true)) {
|
64245
|
+
_this.setState({ openDropdown: false });
|
64246
|
+
}
|
64247
|
+
};
|
64248
|
+
_this.onKeyDown = function (e) {
|
64249
|
+
if (_this.state.openDropdown && _this.ref.current) {
|
64250
|
+
keyboardNavigation(e, _this.ref.current, _this.categoryButtonRef.current ? _this.buttonFocus : _this.inputFocus);
|
64251
|
+
if (e.key === 'Backspace') {
|
64252
|
+
_this.backButton();
|
64253
|
+
_this.backButtonValue();
|
64254
|
+
var buttonTarget = _this.state.buttonTarget;
|
64255
|
+
var className = buttonTarget.pop();
|
64256
|
+
if (className != null) {
|
64257
|
+
var element = document.getElementsByClassName(className)[0];
|
64258
|
+
element.focus();
|
64262
64259
|
}
|
64263
64260
|
}
|
64264
|
-
}
|
64261
|
+
}
|
64262
|
+
};
|
64263
|
+
_this.componentDidMount = function () {
|
64264
|
+
_this.recursion(_this.state.options);
|
64265
|
+
document.addEventListener("mousedown", _this.onMouseDown);
|
64266
|
+
document.addEventListener("keydown", _this.onKeyDown);
|
64265
64267
|
};
|
64266
64268
|
_this.backButtonValue = function () {
|
64267
64269
|
var item = _this.state.buttonTree.pop();
|
@@ -64296,6 +64298,8 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
64296
64298
|
_this.branchButton = _this.branchButton.bind(_this);
|
64297
64299
|
_this.handleDebounce = _this.handleDebounce.bind(_this);
|
64298
64300
|
_this.toggleMenu = _this.toggleMenu.bind(_this);
|
64301
|
+
_this.onMouseDown = _this.onMouseDown.bind(_this);
|
64302
|
+
_this.onKeyDown = _this.onKeyDown.bind(_this);
|
64299
64303
|
_this.dropdownRef = React.createRef();
|
64300
64304
|
_this.ref = React.createRef();
|
64301
64305
|
_this.inputRef = React.createRef();
|
@@ -64304,6 +64308,10 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
64304
64308
|
_this.popperInstance = null;
|
64305
64309
|
return _this;
|
64306
64310
|
}
|
64311
|
+
TreeSelect.prototype.componentWillUnmount = function () {
|
64312
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
64313
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
64314
|
+
};
|
64307
64315
|
TreeSelect.prototype.componentDidUpdate = function (prevProps, prevState) {
|
64308
64316
|
var _a;
|
64309
64317
|
if (!(0, lodash_1.isEqual)(prevState.value, this.state.value)) {
|
@@ -64774,7 +64782,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
64774
64782
|
event.stopPropagation();
|
64775
64783
|
_this.handleTree(event, option);
|
64776
64784
|
} },
|
64777
|
-
React.createElement("button", { className: "suggestion-item--btn ".concat(_this.props.getId(option.value)), onKeyDown: function (event) {
|
64785
|
+
React.createElement("button", { className: "suggestion-item--btn z".concat(_this.props.getId(option.value), "z"), onKeyDown: function (event) {
|
64778
64786
|
if (event.key === 'Enter' && option.children) {
|
64779
64787
|
_this.setState({
|
64780
64788
|
buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
|
@@ -142949,7 +142957,7 @@ exports.ResizablePanelsDoc = ResizablePanelsDoc;
|
|
142949
142957
|
/* 681 */
|
142950
142958
|
/***/ (function(module, exports) {
|
142951
142959
|
|
142952
|
-
module.exports = {"name":"superdesk-ui-framework","version":"3.0.
|
142960
|
+
module.exports = {"name":"superdesk-ui-framework","version":"3.0.36","license":"AGPL-3.0","repository":{"type":"git","url":"https://github.com/superdesk/superdesk-ui-framework.git"},"main":"dist/superdesk-ui.bundle.js","types":"react/index.d.ts","contributors":["Nemanja Pavlovic","Vladimir Stefanovic","Darko Tomic","Aleksandar Jelicic","Tomas Kikutis","Dragana Zivkovic"],"scripts":{"start":"webpack-dev-server --config tasks/webpack.dev.js","server":"webpack --watch --config tasks/webpack.prod.js && tsc-watch","build":"webpack --config tasks/webpack.prod.js && tsc","build-ui":"webpack && tsc && npm run lint","lint":"eslint --parser=@typescript-eslint/parser app && tslint -c tslint.json 'app-typescript/**/*.{ts,tsx}'","lint-fix":"tsc -p tsconfig.json --noEmit && tslint --fix -c tslint.json 'app-typescript/**/*.{ts,tsx}'","prepublishOnly":"npm run build","unit-test":"mocha","debug-unit-tests":"mocha --inspect-brk"},"devDependencies":{"@types/assert":"^1.5.6","@types/chart.js":"^2.9.24","@types/classnames":"^2.2.9","@types/enzyme":"^3.10.12","@types/lodash":"^4.14.161","@types/mocha":"^9.1.1","@types/react":"16.8.23","@types/react-beautiful-dnd":"^13.1.2","@types/react-dom":"16.8.0","@types/react-router-dom":"^5.1.2","@types/react-scrollspy":"^3.3.5","@typescript-eslint/parser":"^5.58.0","angular":"^1.7.9","angular-animate":"^1.7.9","angular-route":"^1.7.9","babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","classnames":"^2.2.5","clean-webpack-plugin":"^1.0.0","code-prettify":"^0.1.0","copy-webpack-plugin":"^4.6.0","css-loader":"^2.1.1","eslint":"^4.6.1","eslint-loader":"^1.9.0","eslint-plugin-angular":"^3.1.1","eslint-plugin-react":"^7.3.0","extract-text-webpack-plugin":"^3.0.2","file-loader":"^0.11.2","html-loader":"^0.5.1","html-webpack-plugin":"^2.30.1","jquery":"^3.1.1","jquery-ui":"^1.12.1","jsdom":"20.0.3","jsdom-global":"3.0.2","lodash":"4.17.21","mocha":"^8.4.0","node-sass":"6.0","prismjs":"^1.28.0","prop-types":"^15.6.0","react":"16.8.6","react-bootstrap":"^0.31.2","react-dom":"16.8.6","react-redux":"^5.0.6","react-router-dom":"^5.1.2","redux":"^3.7.2","redux-form":"^7.0.4","sass-loader":"^6.0.6","style-loader":"^0.18.2","superdesk-code-style":"^1.1.2","ts-loader":"^6.0.2","ts-node":"^10.9.1","tslint":"^5.18.0","typescript":"4.9.5","url-loader":"^1.1.2","webpack":"^3.5.5","webpack-cli":"3.3.10","webpack-dev-server":"2.11.1","webpack-merge":"^4.2.1"},"dependencies":{"@material-ui/lab":"^4.0.0-alpha.56","@popperjs/core":"^2.4.0","@superdesk/primereact":"^5.0.2-10","@superdesk/react-resizable-panels":"0.0.39","@types/enzyme-adapter-react-16":"^1.0.6","@types/node":"^14.10.2","chart.js":"^2.9.3","date-fns":"2.7.0","enzyme":"^3.11.0","enzyme-adapter-react-16":"^1.15.7","moment":"^2.29.3","popper-max-size-modifier":"^0.2.0","popper.js":"1.14.4","primeicons":"2.0.0","react-beautiful-dnd":"^13.0.0","react-id-generator":"^3.0.0","react-popper":"^2.2.3","react-scrollspy":"^3.4.3"}}
|
142953
142961
|
|
142954
142962
|
/***/ }),
|
142955
142963
|
/* 682 */
|
@@ -63855,30 +63855,32 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
63855
63855
|
var _a;
|
63856
63856
|
(_a = _this.categoryButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
63857
63857
|
};
|
63858
|
-
_this.
|
63859
|
-
|
63860
|
-
|
63861
|
-
|
63862
|
-
|
63863
|
-
|
63864
|
-
|
63865
|
-
|
63866
|
-
|
63867
|
-
|
63868
|
-
if (
|
63869
|
-
|
63870
|
-
|
63871
|
-
|
63872
|
-
|
63873
|
-
|
63874
|
-
var
|
63875
|
-
|
63876
|
-
var element = document.getElementsByClassName(className)[0];
|
63877
|
-
element.focus();
|
63878
|
-
}
|
63858
|
+
_this.onMouseDown = function (event) {
|
63859
|
+
var _a, _b;
|
63860
|
+
if ((((_a = _this.dropdownRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) !== true)
|
63861
|
+
&& (((_b = _this.openDropdownRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target)) !== true)) {
|
63862
|
+
_this.setState({ openDropdown: false });
|
63863
|
+
}
|
63864
|
+
};
|
63865
|
+
_this.onKeyDown = function (e) {
|
63866
|
+
if (_this.state.openDropdown && _this.ref.current) {
|
63867
|
+
keyboardNavigation(e, _this.ref.current, _this.categoryButtonRef.current ? _this.buttonFocus : _this.inputFocus);
|
63868
|
+
if (e.key === 'Backspace') {
|
63869
|
+
_this.backButton();
|
63870
|
+
_this.backButtonValue();
|
63871
|
+
var buttonTarget = _this.state.buttonTarget;
|
63872
|
+
var className = buttonTarget.pop();
|
63873
|
+
if (className != null) {
|
63874
|
+
var element = document.getElementsByClassName(className)[0];
|
63875
|
+
element.focus();
|
63879
63876
|
}
|
63880
63877
|
}
|
63881
|
-
}
|
63878
|
+
}
|
63879
|
+
};
|
63880
|
+
_this.componentDidMount = function () {
|
63881
|
+
_this.recursion(_this.state.options);
|
63882
|
+
document.addEventListener("mousedown", _this.onMouseDown);
|
63883
|
+
document.addEventListener("keydown", _this.onKeyDown);
|
63882
63884
|
};
|
63883
63885
|
_this.backButtonValue = function () {
|
63884
63886
|
var item = _this.state.buttonTree.pop();
|
@@ -63913,6 +63915,8 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
63913
63915
|
_this.branchButton = _this.branchButton.bind(_this);
|
63914
63916
|
_this.handleDebounce = _this.handleDebounce.bind(_this);
|
63915
63917
|
_this.toggleMenu = _this.toggleMenu.bind(_this);
|
63918
|
+
_this.onMouseDown = _this.onMouseDown.bind(_this);
|
63919
|
+
_this.onKeyDown = _this.onKeyDown.bind(_this);
|
63916
63920
|
_this.dropdownRef = React.createRef();
|
63917
63921
|
_this.ref = React.createRef();
|
63918
63922
|
_this.inputRef = React.createRef();
|
@@ -63921,6 +63925,10 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
63921
63925
|
_this.popperInstance = null;
|
63922
63926
|
return _this;
|
63923
63927
|
}
|
63928
|
+
TreeSelect.prototype.componentWillUnmount = function () {
|
63929
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
63930
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
63931
|
+
};
|
63924
63932
|
TreeSelect.prototype.componentDidUpdate = function (prevProps, prevState) {
|
63925
63933
|
var _a;
|
63926
63934
|
if (!(0, lodash_1.isEqual)(prevState.value, this.state.value)) {
|
@@ -64391,7 +64399,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
64391
64399
|
event.stopPropagation();
|
64392
64400
|
_this.handleTree(event, option);
|
64393
64401
|
} },
|
64394
|
-
React.createElement("button", { className: "suggestion-item--btn ".concat(_this.props.getId(option.value)), onKeyDown: function (event) {
|
64402
|
+
React.createElement("button", { className: "suggestion-item--btn z".concat(_this.props.getId(option.value), "z"), onKeyDown: function (event) {
|
64395
64403
|
if (event.key === 'Enter' && option.children) {
|
64396
64404
|
_this.setState({
|
64397
64405
|
buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
|
package/package.json
CHANGED
@@ -69,7 +69,10 @@ export declare class TreeSelect<T> extends React.Component<IProps<T>, IState<T>>
|
|
69
69
|
inputFocus: () => void;
|
70
70
|
listNavigation: () => void;
|
71
71
|
buttonFocus: () => void;
|
72
|
+
onMouseDown: (event: MouseEvent) => void;
|
73
|
+
onKeyDown: (e: KeyboardEvent) => void;
|
72
74
|
componentDidMount: () => void;
|
75
|
+
componentWillUnmount(): void;
|
73
76
|
componentDidUpdate(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>): void;
|
74
77
|
toggleMenu(): void;
|
75
78
|
removeClick(i: number): void;
|
@@ -77,30 +77,32 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
77
77
|
var _a;
|
78
78
|
(_a = _this.categoryButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
79
79
|
};
|
80
|
-
_this.
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
if (
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
var
|
97
|
-
|
98
|
-
var element = document.getElementsByClassName(className)[0];
|
99
|
-
element.focus();
|
100
|
-
}
|
80
|
+
_this.onMouseDown = function (event) {
|
81
|
+
var _a, _b;
|
82
|
+
if ((((_a = _this.dropdownRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) !== true)
|
83
|
+
&& (((_b = _this.openDropdownRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target)) !== true)) {
|
84
|
+
_this.setState({ openDropdown: false });
|
85
|
+
}
|
86
|
+
};
|
87
|
+
_this.onKeyDown = function (e) {
|
88
|
+
if (_this.state.openDropdown && _this.ref.current) {
|
89
|
+
keyboardNavigation(e, _this.ref.current, _this.categoryButtonRef.current ? _this.buttonFocus : _this.inputFocus);
|
90
|
+
if (e.key === 'Backspace') {
|
91
|
+
_this.backButton();
|
92
|
+
_this.backButtonValue();
|
93
|
+
var buttonTarget = _this.state.buttonTarget;
|
94
|
+
var className = buttonTarget.pop();
|
95
|
+
if (className != null) {
|
96
|
+
var element = document.getElementsByClassName(className)[0];
|
97
|
+
element.focus();
|
101
98
|
}
|
102
99
|
}
|
103
|
-
}
|
100
|
+
}
|
101
|
+
};
|
102
|
+
_this.componentDidMount = function () {
|
103
|
+
_this.recursion(_this.state.options);
|
104
|
+
document.addEventListener("mousedown", _this.onMouseDown);
|
105
|
+
document.addEventListener("keydown", _this.onKeyDown);
|
104
106
|
};
|
105
107
|
_this.backButtonValue = function () {
|
106
108
|
var item = _this.state.buttonTree.pop();
|
@@ -135,6 +137,8 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
135
137
|
_this.branchButton = _this.branchButton.bind(_this);
|
136
138
|
_this.handleDebounce = _this.handleDebounce.bind(_this);
|
137
139
|
_this.toggleMenu = _this.toggleMenu.bind(_this);
|
140
|
+
_this.onMouseDown = _this.onMouseDown.bind(_this);
|
141
|
+
_this.onKeyDown = _this.onKeyDown.bind(_this);
|
138
142
|
_this.dropdownRef = React.createRef();
|
139
143
|
_this.ref = React.createRef();
|
140
144
|
_this.inputRef = React.createRef();
|
@@ -143,6 +147,10 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
143
147
|
_this.popperInstance = null;
|
144
148
|
return _this;
|
145
149
|
}
|
150
|
+
TreeSelect.prototype.componentWillUnmount = function () {
|
151
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
152
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
153
|
+
};
|
146
154
|
TreeSelect.prototype.componentDidUpdate = function (prevProps, prevState) {
|
147
155
|
var _a;
|
148
156
|
if (!(0, lodash_1.isEqual)(prevState.value, this.state.value)) {
|
@@ -613,7 +621,7 @@ var TreeSelect = /** @class */ (function (_super) {
|
|
613
621
|
event.stopPropagation();
|
614
622
|
_this.handleTree(event, option);
|
615
623
|
} },
|
616
|
-
React.createElement("button", { className: "suggestion-item--btn ".concat(_this.props.getId(option.value)), onKeyDown: function (event) {
|
624
|
+
React.createElement("button", { className: "suggestion-item--btn z".concat(_this.props.getId(option.value), "z"), onKeyDown: function (event) {
|
617
625
|
if (event.key === 'Enter' && option.children) {
|
618
626
|
_this.setState({
|
619
627
|
buttonTarget: __spreadArray(__spreadArray([], _this.state.buttonTarget, true), [
|