ywana-core8 0.0.887 → 0.0.889
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.
- package/dist/index.cjs +176 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +61 -42
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +171 -32
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +176 -32
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/site/site.css +8 -0
- package/src/site/site.js +1 -1
- package/src/widgets/explorer/Explorer.css +53 -42
- package/src/widgets/explorer/Explorer.js +134 -31
- package/src/widgets/explorer/Explorer.test.js +80 -13
package/dist/index.umd.js
CHANGED
@@ -4036,7 +4036,7 @@
|
|
4036
4036
|
}, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
4037
4037
|
text: title,
|
4038
4038
|
top: ".5rem",
|
4039
|
-
left: "
|
4039
|
+
left: "4.5rem"
|
4040
4040
|
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4041
4041
|
key: id,
|
4042
4042
|
icon: icon,
|
@@ -4303,74 +4303,213 @@
|
|
4303
4303
|
* File Explorer
|
4304
4304
|
*/
|
4305
4305
|
var FileExplorer = function FileExplorer(props) {
|
4306
|
-
var
|
4306
|
+
var _useState = React.useState("10002"),
|
4307
|
+
selectedFolder = _useState[0],
|
4308
|
+
setSelectedFolder = _useState[1];
|
4309
|
+
var _useState2 = React.useState(),
|
4310
|
+
selectedFile = _useState2[0],
|
4311
|
+
setSelectedFile = _useState2[1];
|
4312
|
+
var _useState3 = React.useState(),
|
4313
|
+
search = _useState3[0],
|
4314
|
+
setSearch = _useState3[1];
|
4315
|
+
function selectFolder(id) {
|
4316
|
+
setSelectedFolder(id);
|
4317
|
+
}
|
4318
|
+
function selectFile(id) {
|
4319
|
+
setSelectedFile(id);
|
4320
|
+
}
|
4321
|
+
function searchChanged(value) {
|
4322
|
+
setSearch(value);
|
4323
|
+
}
|
4324
|
+
var filteredFiles = search ? files.filter(function (file) {
|
4325
|
+
return file.title.toLowerCase().includes(search.toLowerCase());
|
4326
|
+
}) : files;
|
4327
|
+
var selectedFiles = filteredFiles.filter(function (file) {
|
4328
|
+
return file.folder === selectedFolder;
|
4329
|
+
});
|
4330
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4331
|
+
style: {
|
4332
|
+
padding: "1rem",
|
4333
|
+
flex: "1",
|
4334
|
+
height: "100%"
|
4335
|
+
}
|
4336
|
+
}, /*#__PURE__*/React__default["default"].createElement(FileExplorerView, {
|
4337
|
+
title: "File Explorer Test",
|
4338
|
+
folders: folders,
|
4339
|
+
selectedFolder: selectedFolder,
|
4340
|
+
onSelectFolder: selectFolder,
|
4341
|
+
files: selectedFiles,
|
4342
|
+
selectedFile: selectedFile,
|
4343
|
+
onSelectFile: selectFile,
|
4344
|
+
search: search,
|
4345
|
+
onSearch: searchChanged
|
4346
|
+
}));
|
4347
|
+
};
|
4348
|
+
|
4349
|
+
/**
|
4350
|
+
* File Explorer View
|
4351
|
+
*/
|
4352
|
+
var FileExplorerView = function FileExplorerView(props) {
|
4353
|
+
var _props$folders = props.folders,
|
4354
|
+
folders = _props$folders === void 0 ? [] : _props$folders,
|
4355
|
+
selectedFolder = props.selectedFolder,
|
4356
|
+
onSelectFolder = props.onSelectFolder,
|
4307
4357
|
_props$files = props.files,
|
4308
|
-
files = _props$files === void 0 ? [] : _props$files
|
4358
|
+
files = _props$files === void 0 ? [] : _props$files,
|
4359
|
+
selectedFile = props.selectedFile,
|
4360
|
+
onSelectFile = props.onSelectFile,
|
4361
|
+
search = props.search,
|
4362
|
+
onSearch = props.onSearch;
|
4363
|
+
var _useState4 = React.useState('list'),
|
4364
|
+
view = _useState4[0],
|
4365
|
+
setView = _useState4[1];
|
4366
|
+
var folder = folders.find(function (folder) {
|
4367
|
+
return folder.id === selectedFolder;
|
4368
|
+
});
|
4369
|
+
var folderTitle = folder ? folder.title : '';
|
4370
|
+
function switchView() {
|
4371
|
+
setView(view === 'grid' ? 'list' : 'grid');
|
4372
|
+
}
|
4309
4373
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4310
4374
|
className: "file-explorer"
|
4311
|
-
}, /*#__PURE__*/React__default["default"].createElement("
|
4312
|
-
|
4313
|
-
}
|
4314
|
-
|
4315
|
-
})), /*#__PURE__*/React__default["default"].createElement("
|
4375
|
+
}, /*#__PURE__*/React__default["default"].createElement("nav", null, /*#__PURE__*/React__default["default"].createElement("header", {
|
4376
|
+
className: "folder-header"
|
4377
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
4378
|
+
className: "folder-title"
|
4379
|
+
}, folderTitle)), /*#__PURE__*/React__default["default"].createElement("div", {
|
4380
|
+
className: "folder-actions"
|
4381
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4382
|
+
icon: "list",
|
4383
|
+
clickable: true,
|
4384
|
+
action: switchView,
|
4385
|
+
checked: view === "list"
|
4386
|
+
}), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4387
|
+
icon: "grid_view",
|
4388
|
+
clickable: true,
|
4389
|
+
action: switchView,
|
4390
|
+
checked: view === "grid"
|
4391
|
+
})), /*#__PURE__*/React__default["default"].createElement(FilesSearchBox, {
|
4392
|
+
search: search,
|
4393
|
+
onSearch: onSearch
|
4394
|
+
})), /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement(FoldersTreeView, {
|
4395
|
+
folders: folders,
|
4396
|
+
selected: selectedFolder,
|
4397
|
+
onSelect: onSelectFolder
|
4398
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, view === 'grid' ? /*#__PURE__*/React__default["default"].createElement(FilesGridView, {
|
4399
|
+
files: files,
|
4400
|
+
selected: selectedFile,
|
4401
|
+
onSelect: onSelectFile
|
4402
|
+
}) : null, view === 'list' ? /*#__PURE__*/React__default["default"].createElement(FilesTableView, {
|
4403
|
+
files: files,
|
4404
|
+
selected: selectedFile,
|
4405
|
+
onSelect: onSelectFile
|
4406
|
+
}) : null));
|
4407
|
+
};
|
4408
|
+
var FoldersTreeView = function FoldersTreeView(props) {
|
4409
|
+
var _props$folders2 = props.folders,
|
4410
|
+
folders = _props$folders2 === void 0 ? [] : _props$folders2,
|
4411
|
+
selected = props.selected,
|
4412
|
+
_onSelect = props.onSelect;
|
4413
|
+
function isSelected(id) {
|
4414
|
+
return selected === id;
|
4415
|
+
}
|
4416
|
+
return /*#__PURE__*/React__default["default"].createElement(Tree, null, folders.map(function (folder) {
|
4417
|
+
return /*#__PURE__*/React__default["default"].createElement(TreeItem, {
|
4418
|
+
key: folder.id,
|
4419
|
+
icon: folder.icon,
|
4420
|
+
label: folder.title,
|
4421
|
+
onSelect: function onSelect() {
|
4422
|
+
return _onSelect(folder.id);
|
4423
|
+
},
|
4424
|
+
selected: isSelected(folder.id)
|
4425
|
+
});
|
4426
|
+
}));
|
4427
|
+
};
|
4428
|
+
var FilesSearchBox = function FilesSearchBox(props) {
|
4429
|
+
var onSearch = props.onSearch;
|
4430
|
+
function searchChanged(id, value) {
|
4431
|
+
onSearch(value);
|
4432
|
+
}
|
4433
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4434
|
+
className: "file-searchbox"
|
4435
|
+
}, /*#__PURE__*/React__default["default"].createElement(TextField, {
|
4436
|
+
placeholder: "Search...",
|
4437
|
+
onChange: searchChanged,
|
4438
|
+
outlined: true
|
4439
|
+
}));
|
4316
4440
|
};
|
4317
4441
|
|
4318
4442
|
/**
|
4319
4443
|
* File Icons View
|
4320
4444
|
*/
|
4321
|
-
var
|
4445
|
+
var FilesGridView = function FilesGridView(props) {
|
4322
4446
|
var _props$files2 = props.files,
|
4323
4447
|
files = _props$files2 === void 0 ? [] : _props$files2,
|
4448
|
+
selected = props.selected,
|
4324
4449
|
onSelect = props.onSelect;
|
4325
|
-
var _useState = React.useState(),
|
4326
|
-
selected = _useState[0],
|
4327
|
-
setSelected = _useState[1];
|
4328
|
-
function select(id) {
|
4329
|
-
setSelected(id);
|
4330
|
-
if (onSelect) onSelect(id);
|
4331
|
-
}
|
4332
4450
|
function isSelected(id) {
|
4333
4451
|
return selected === id;
|
4334
4452
|
}
|
4335
4453
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4336
|
-
className: "
|
4454
|
+
className: "files-grid"
|
4337
4455
|
}, files.map(function (file) {
|
4338
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
4456
|
+
return /*#__PURE__*/React__default["default"].createElement(FileGridItem, {
|
4457
|
+
key: file.id,
|
4339
4458
|
file: file,
|
4340
|
-
onSelect:
|
4459
|
+
onSelect: onSelect,
|
4341
4460
|
selected: isSelected(file.id)
|
4342
4461
|
});
|
4343
4462
|
}));
|
4344
4463
|
};
|
4345
4464
|
|
4346
4465
|
/**
|
4347
|
-
* File
|
4466
|
+
* File Grid Item
|
4348
4467
|
*/
|
4349
|
-
var
|
4468
|
+
var FileGridItem = function FileGridItem(props) {
|
4350
4469
|
var _props$file = props.file,
|
4351
4470
|
file = _props$file === void 0 ? {} : _props$file,
|
4352
4471
|
_props$selected = props.selected,
|
4353
4472
|
selected = _props$selected === void 0 ? false : _props$selected,
|
4354
4473
|
onSelect = props.onSelect;
|
4355
4474
|
var id = file.id,
|
4356
|
-
|
4357
|
-
|
4475
|
+
title = file.title,
|
4476
|
+
subtitle = file.subtitle,
|
4358
4477
|
_file$src = file.src,
|
4359
|
-
src = _file$src === void 0 ? "https://
|
4360
|
-
footer = file.footer;
|
4478
|
+
src = _file$src === void 0 ? "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQkAPtY9GS4QgwAjRUSvLaa6TP4fSlQkVDqEg&usqp=CAU" : _file$src;
|
4361
4479
|
function select() {
|
4362
4480
|
if (onSelect && !selected) onSelect(id);
|
4363
4481
|
}
|
4364
|
-
var style = selected ? 'file-
|
4482
|
+
var style = selected ? 'file-item--selected' : '';
|
4365
4483
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4366
|
-
className: "file-
|
4484
|
+
className: "file-item " + style,
|
4367
4485
|
onClick: select
|
4368
4486
|
}, /*#__PURE__*/React__default["default"].createElement("picture", null, /*#__PURE__*/React__default["default"].createElement("img", {
|
4369
4487
|
src: src
|
4370
|
-
})), /*#__PURE__*/React__default["default"].createElement("main", null,
|
4371
|
-
|
4372
|
-
|
4373
|
-
|
4488
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
4489
|
+
className: "file-item-title"
|
4490
|
+
}, title), /*#__PURE__*/React__default["default"].createElement("div", {
|
4491
|
+
className: "file-item-subtitle"
|
4492
|
+
}, subtitle)));
|
4493
|
+
};
|
4494
|
+
var FilesTableView = function FilesTableView(props) {
|
4495
|
+
var _props$files3 = props.files,
|
4496
|
+
files = _props$files3 === void 0 ? [] : _props$files3;
|
4497
|
+
var table = {
|
4498
|
+
columns: [{
|
4499
|
+
id: "icon",
|
4500
|
+
type: "ICON"
|
4501
|
+
}, {
|
4502
|
+
id: "title",
|
4503
|
+
label: "Title"
|
4504
|
+
}, {
|
4505
|
+
id: "subtitle",
|
4506
|
+
label: "Subtitle"
|
4507
|
+
}],
|
4508
|
+
rows: files
|
4509
|
+
};
|
4510
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4511
|
+
className: "files-table"
|
4512
|
+
}, /*#__PURE__*/React__default["default"].createElement(DataTable, table));
|
4374
4513
|
};
|
4375
4514
|
|
4376
4515
|
/**
|
@@ -10985,7 +11124,12 @@
|
|
10985
11124
|
exports.FORMATS = FORMATS$1;
|
10986
11125
|
exports.FieldEditor = FieldEditor;
|
10987
11126
|
exports.FileExplorer = FileExplorer;
|
10988
|
-
exports.
|
11127
|
+
exports.FileExplorerView = FileExplorerView;
|
11128
|
+
exports.FileGridItem = FileGridItem;
|
11129
|
+
exports.FilesGridView = FilesGridView;
|
11130
|
+
exports.FilesSearchBox = FilesSearchBox;
|
11131
|
+
exports.FilesTableView = FilesTableView;
|
11132
|
+
exports.FoldersTreeView = FoldersTreeView;
|
10989
11133
|
exports.Form = Form;
|
10990
11134
|
exports.HTTPClient = HTTPClient;
|
10991
11135
|
exports.Header = Header;
|