ywana-core8 0.0.750 → 0.0.752

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.
@@ -4307,6 +4307,156 @@ var EmptyMessage = function EmptyMessage(_ref) {
4307
4307
  }, text));
4308
4308
  };
4309
4309
 
4310
+ var SCROLL_SENSITIVITY = 0.0005;
4311
+ var MAX_ZOOM = 5;
4312
+ var MIN_ZOOM = 0.1;
4313
+ var ImageViewer = function ImageViewer(_ref) {
4314
+ var image = _ref.image;
4315
+
4316
+ var _useState = useState({
4317
+ x: 0,
4318
+ y: 0
4319
+ }),
4320
+ offset = _useState[0],
4321
+ setOffset = _useState[1];
4322
+
4323
+ var _useState2 = useState(1),
4324
+ zoom = _useState2[0],
4325
+ setZoom = _useState2[1];
4326
+
4327
+ var _useState3 = useState(false),
4328
+ draggind = _useState3[0],
4329
+ setDragging = _useState3[1];
4330
+
4331
+ var touch = useRef({
4332
+ x: 0,
4333
+ y: 0
4334
+ });
4335
+ var canvasRef = useRef(null);
4336
+ var containerRef = useRef(null);
4337
+ var observer = useRef(null);
4338
+ var background = useMemo(function () {
4339
+ return new Image();
4340
+ }, [image]);
4341
+
4342
+ var clamp = function clamp(num, min, max) {
4343
+ return Math.min(Math.max(num, min), max);
4344
+ };
4345
+
4346
+ var handleWheel = function handleWheel(event) {
4347
+ var deltaY = event.deltaY;
4348
+
4349
+ if (!draggind) {
4350
+ setZoom(function (zoom) {
4351
+ return clamp(zoom + deltaY * SCROLL_SENSITIVITY * -1, MIN_ZOOM, MAX_ZOOM);
4352
+ });
4353
+ }
4354
+ };
4355
+
4356
+ var handleMouseMove = function handleMouseMove(event) {
4357
+ if (draggind) {
4358
+ var _touch$current = touch.current,
4359
+ x = _touch$current.x,
4360
+ y = _touch$current.y;
4361
+ var clientX = event.clientX,
4362
+ clientY = event.clientY;
4363
+ setOffset({
4364
+ x: offset.x + (x - clientX),
4365
+ y: offset.y + (y - clientY)
4366
+ });
4367
+ touch.current = {
4368
+ x: clientX,
4369
+ y: clientY
4370
+ };
4371
+ }
4372
+ };
4373
+
4374
+ var handleMouseDown = function handleMouseDown(event) {
4375
+ var clientX = event.clientX,
4376
+ clientY = event.clientY;
4377
+ touch.current = {
4378
+ x: clientX,
4379
+ y: clientY
4380
+ };
4381
+ setDragging(true);
4382
+ };
4383
+
4384
+ var handleMouseUp = function handleMouseUp() {
4385
+ return setDragging(false);
4386
+ };
4387
+
4388
+ var draw = function draw() {
4389
+ if (canvasRef.current) {
4390
+ var _canvasRef$current = canvasRef.current,
4391
+ width = _canvasRef$current.width,
4392
+ height = _canvasRef$current.height;
4393
+ var context = canvasRef.current.getContext("2d"); // Set canvas dimensions
4394
+
4395
+ canvasRef.current.width = width;
4396
+ canvasRef.current.height = height; // Clear canvas and scale it
4397
+
4398
+ context.translate(-offset.x, -offset.y);
4399
+ context.scale(zoom, zoom);
4400
+ context.clearRect(0, 0, width, height); // Make sure we're zooming to the center
4401
+
4402
+ var x = (context.canvas.width / zoom - background.width) / 2;
4403
+ var y = (context.canvas.height / zoom - background.height) / 2; // Draw image
4404
+
4405
+ context.drawImage(background, x, y);
4406
+ }
4407
+ };
4408
+
4409
+ useEffect(function () {
4410
+ observer.current = new ResizeObserver(function (entries) {
4411
+ entries.forEach(function (_ref2) {
4412
+ var target = _ref2.target;
4413
+ var width = background.width,
4414
+ height = background.height; // If width of the container is smaller than image, scale image down
4415
+
4416
+ if (target.clientWidth < width) {
4417
+ // Calculate scale
4418
+ var scale = target.clientWidth / width; // Redraw image
4419
+
4420
+ canvasRef.current.width = width * scale;
4421
+ canvasRef.current.height = height * scale;
4422
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0, width * scale, height * scale);
4423
+ }
4424
+ });
4425
+ });
4426
+ observer.current.observe(containerRef.current);
4427
+ return function () {
4428
+ return observer.current.unobserve(containerRef.current);
4429
+ };
4430
+ }, []);
4431
+ useEffect(function () {
4432
+ background.src = image;
4433
+
4434
+ if (canvasRef.current) {
4435
+ background.onload = function () {
4436
+ // Get the image dimensions
4437
+ var width = background.width,
4438
+ height = background.height;
4439
+ canvasRef.current.width = width;
4440
+ canvasRef.current.height = height; // Set image as background
4441
+
4442
+ canvasRef.current.getContext("2d").drawImage(background, 0, 0);
4443
+ };
4444
+ }
4445
+ }, [background]);
4446
+ useEffect(function () {
4447
+ draw();
4448
+ }, [zoom, offset]);
4449
+ return /*#__PURE__*/React.createElement("div", {
4450
+ ref: containerRef
4451
+ }, /*#__PURE__*/React.createElement("canvas", {
4452
+ onMouseDown: handleMouseDown,
4453
+ onMouseUp: handleMouseUp,
4454
+ onWheel: handleWheel,
4455
+ onMouseMove: handleMouseMove,
4456
+ ref: canvasRef
4457
+ }));
4458
+ };
4459
+
4310
4460
  /**
4311
4461
  * Content Form
4312
4462
  */
@@ -6342,12 +6492,15 @@ var CollectionTree = function CollectionTree(props) {
6342
6492
  var CollectionEditor$1 = function CollectionEditor(props) {
6343
6493
  var save = function save() {
6344
6494
  try {
6345
- var _temp3 = function _temp3() {
6495
+ var _temp5 = function _temp5() {
6346
6496
  if (onChange) onChange(form);
6347
6497
  setPageContext(Object.assign({}, pageContext));
6498
+ site.notify({
6499
+ title: "Datos Guardados"
6500
+ });
6348
6501
  };
6349
6502
 
6350
- var _temp4 = function () {
6503
+ var _temp6 = function () {
6351
6504
  if (patch) {
6352
6505
  return Promise.resolve(pageContext.patch(form.id, form)).then(function () {});
6353
6506
  } else {
@@ -6355,7 +6508,7 @@ var CollectionEditor$1 = function CollectionEditor(props) {
6355
6508
  }
6356
6509
  }();
6357
6510
 
6358
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
6511
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(_temp5) : _temp5(_temp6));
6359
6512
  } catch (e) {
6360
6513
  return Promise.reject(e);
6361
6514
  }
@@ -6365,7 +6518,7 @@ var CollectionEditor$1 = function CollectionEditor(props) {
6365
6518
  try {
6366
6519
  var accept = site.confirm("¿ Esta seguro ?");
6367
6520
 
6368
- var _temp6 = function () {
6521
+ var _temp2 = function () {
6369
6522
  if (accept === true) {
6370
6523
  return Promise.resolve(pageContext.remove(selected.id)).then(function () {
6371
6524
  pageContext.clear();
@@ -6374,12 +6527,14 @@ var CollectionEditor$1 = function CollectionEditor(props) {
6374
6527
  }
6375
6528
  }();
6376
6529
 
6377
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
6530
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
6378
6531
  } catch (e) {
6379
6532
  return Promise.reject(e);
6380
6533
  }
6381
6534
  };
6382
6535
 
6536
+ var site = useContext(SiteContext);
6537
+
6383
6538
  var _useContext5 = useContext(PageContext),
6384
6539
  pageContext = _useContext5[0],
6385
6540
  setPageContext = _useContext5[1];
@@ -10969,5 +11124,5 @@ var isFunction = function isFunction(value) {
10969
11124
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
10970
11125
  };
10971
11126
 
10972
- export { Accordion, Avatar, Button, Calendar, CheckBox, Chip, Chips, CircularProgress, CollectionContext$1 as CollectionContext, CollectionContext as CollectionContext2, CollectionEditor$2 as CollectionEditor, CollectionFilters$1 as CollectionFilters, CollectionPage$1 as CollectionPage, CollectionPage as CollectionPage2, CollectionTree, ColorField, Content, ContentEditor, ContentForm, ContentViewer, CreateContentDialog, DataTable, DateRange, Dialog, DropDown, EditContentDialog, EmptyMessage, FORMATS$1 as FORMATS, FieldEditor, FileExplorer, FilesGrid, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, MultiSelector, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, TaskContext, TaskContextProvider, TaskMonitor, TaskProgress, Text, TextArea, TextField, Thumbnail, ToggleButton, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, Wizard, WizardContext, isEmpty, isFunction };
11127
+ export { Accordion, Avatar, Button, Calendar, CheckBox, Chip, Chips, CircularProgress, CollectionContext$1 as CollectionContext, CollectionContext as CollectionContext2, CollectionEditor$2 as CollectionEditor, CollectionFilters$1 as CollectionFilters, CollectionPage$1 as CollectionPage, CollectionPage as CollectionPage2, CollectionTree, ColorField, Content, ContentEditor, ContentForm, ContentViewer, CreateContentDialog, DataTable, DateRange, Dialog, DropDown, EditContentDialog, EmptyMessage, FORMATS$1 as FORMATS, FieldEditor, FileExplorer, FilesGrid, Form, HTTPClient, Header, Icon, ImageViewer, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, MultiSelector, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, TaskContext, TaskContextProvider, TaskMonitor, TaskProgress, Text, TextArea, TextField, Thumbnail, ToggleButton, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, Wizard, WizardContext, isEmpty, isFunction };
10973
11128
  //# sourceMappingURL=index.modern.js.map