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