@servicetitan/confirm-navigation 23.2.0 → 23.3.0

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.
@@ -14,6 +14,7 @@ interface ConfirmNavigationRenderProps {
14
14
  }
15
15
  export interface ConfirmNavigationOwnProps {
16
16
  when?: boolean;
17
+ ignoreSearchChanges?: boolean;
17
18
  title?: string;
18
19
  description?: string;
19
20
  component?: ComponentType<ConfirmNavigationRenderProps> | FC<ConfirmNavigationRenderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-navigation.d.ts","sourceRoot":"","sources":["../src/confirm-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAc,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAanE,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,MAAM;QACnB,GAAG,EAAE,GAAG,CAAC;KACZ;CACJ;AAED,UAAU,4BAA4B;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,IAAI,IAAI,CAAC;IAClB,QAAQ,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,CAAC;CAC9F;AAED,oBAAY,sBAAsB,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAyLrF,eAAO,MAAM,iBAAiB,iPAA0C,sBAAsB,wBAE7F,CAAC"}
1
+ {"version":3,"file":"confirm-navigation.d.ts","sourceRoot":"","sources":["../src/confirm-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAc,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAanE,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,MAAM;QACnB,GAAG,EAAE,GAAG,CAAC;KACZ;CACJ;AAED,UAAU,4BAA4B;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,IAAI,IAAI,CAAC;IAClB,QAAQ,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,CAAC;CAC9F;AAED,oBAAY,sBAAsB,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AA0LrF,eAAO,MAAM,iBAAiB,iPAA0C,sBAAsB,wBAE7F,CAAC"}
@@ -81,7 +81,8 @@ let ConfirmNavigationUnwrapped = class ConfirmNavigationUnwrapped extends Compon
81
81
  return false;
82
82
  }
83
83
  const hasChanged = history.location.pathname !== targetLocation.pathname ||
84
- history.location.search !== targetLocation.search;
84
+ (!this.props.ignoreSearchChanges &&
85
+ history.location.search !== targetLocation.search);
85
86
  if (hasChanged) {
86
87
  runInAction(() => {
87
88
  this.isOpen = true;
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-navigation.js","sourceRoot":"","sources":["../src/confirm-navigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-navigation.js","sourceRoot":"","sources":["../src/confirm-navigation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare const IgnoreSearchChangesExample: FC;
3
+ //# sourceMappingURL=ignore-search-changes-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-search-changes-example.d.ts","sourceRoot":"","sources":["../../src/demo/ignore-search-changes-example.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,EAAE,EAAE,MAAM,OAAO,CAAC;AAQ/C,eAAO,MAAM,0BAA0B,EAAE,EA6BxC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, Fragment } from 'react';
3
+ import { Link, useLocation } from 'react-router-dom';
4
+ import { Button, ButtonGroup, Checkbox } from '@servicetitan/design-system';
5
+ import { ConfirmNavigation } from '..';
6
+ //
7
+ export const IgnoreSearchChangesExample = () => {
8
+ const [confirm, setConfirm] = useState(true);
9
+ const handleConfirmChange = (_0, checked) => {
10
+ setConfirm(checked);
11
+ };
12
+ const [ignoreSearch, setIgnoreSearch] = useState(true);
13
+ const handleIgnoreSearchChange = (_0, checked) => {
14
+ setIgnoreSearch(checked);
15
+ };
16
+ return (_jsxs(Fragment, { children: [_jsx(Checkbox, { label: "Confirm Navigation?", checked: confirm, onChange: handleConfirmChange }), _jsx(Checkbox, { label: "Ignore search changes?", checked: ignoreSearch, onChange: handleIgnoreSearchChange }), _jsx(ConfirmNavigation, { when: confirm, ignoreSearchChanges: ignoreSearch }), _jsx(AdvancedUrlChange, {})] }));
17
+ };
18
+ const AdvancedUrlChange = () => {
19
+ const location = useLocation();
20
+ const newPath = location.pathname === '/some-new-path-1' ? '/another-new-path-2' : '/some-new-path-1';
21
+ const newSearch = location.search === '?newParam=true' ? '?anotherParam=true' : '?newParam=true';
22
+ return (_jsxs(ButtonGroup, { children: [_jsx(Link, Object.assign({ to: newPath }, { children: _jsx(Button, Object.assign({ primary: true, className: "m-t-2" }, { children: "Change path" })) })), _jsx(Link, Object.assign({ to: location.pathname + newSearch }, { children: _jsx(Button, Object.assign({ primary: true, className: "m-t-2" }, { children: "Change only search" })) }))] }));
23
+ };
24
+ //# sourceMappingURL=ignore-search-changes-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-search-changes-example.js","sourceRoot":"","sources":["../../src/demo/ignore-search-changes-example.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAM,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvC,EAAE;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAO,GAAG,EAAE;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,mBAAmB,GAAG,CAAC,EAAS,EAAE,OAAgB,EAAE,EAAE;QACxD,UAAU,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,wBAAwB,GAAG,CAAC,EAAS,EAAE,OAAgB,EAAE,EAAE;QAC7D,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,QAAQ,eACL,KAAC,QAAQ,IACL,KAAK,EAAC,qBAAqB,EAC3B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,mBAAmB,GAC/B,EACF,KAAC,QAAQ,IACL,KAAK,EAAC,wBAAwB,EAC9B,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,wBAAwB,GACpC,EAEF,KAAC,iBAAiB,IAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,GAAI,EAEvE,KAAC,iBAAiB,KAAG,IACd,CACd,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GACT,QAAQ,CAAC,QAAQ,KAAK,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC1F,MAAM,SAAS,GACX,QAAQ,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnF,OAAO,CACH,MAAC,WAAW,eACR,KAAC,IAAI,kBAAC,EAAE,EAAE,OAAO,gBACb,KAAC,MAAM,kBAAC,OAAO,QAAC,SAAS,EAAC,OAAO,iCAExB,IACN,EACP,KAAC,IAAI,kBAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,gBACnC,KAAC,MAAM,kBAAC,OAAO,QAAC,SAAS,EAAC,OAAO,wCAExB,IACN,IACG,CACjB,CAAC;AACN,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './basic';
2
2
  export * from './custom';
3
+ export * from './ignore-search-changes-example';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './basic';
2
2
  export * from './custom';
3
+ export * from './ignore-search-changes-example';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/confirm-navigation",
3
- "version": "23.2.0",
3
+ "version": "23.3.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/confirm-navigation",
6
6
  "repository": {
@@ -46,5 +46,5 @@
46
46
  "cli": {
47
47
  "webpack": false
48
48
  },
49
- "gitHead": "3616d7fff8482c1e65a0d6281b5ddeca9b32f2ab"
49
+ "gitHead": "f8b98edcad0534067ecd1d60bf2903895a054ddf"
50
50
  }
@@ -1,7 +1,7 @@
1
1
  import { Button } from '@servicetitan/design-system';
2
2
  import { BrowserRouter, Link } from 'react-router-dom';
3
3
 
4
- import { BasicExample, CustomExample } from './demo';
4
+ import { BasicExample, CustomExample, IgnoreSearchChangesExample } from './demo';
5
5
 
6
6
  export default {
7
7
  title: 'Confirm Navigation/Demos',
@@ -34,3 +34,11 @@ export const Custom = () => {
34
34
  </BrowserRouter>
35
35
  );
36
36
  };
37
+
38
+ export const IgnoreSearchChanges = () => {
39
+ return (
40
+ <BrowserRouter>
41
+ <IgnoreSearchChangesExample />
42
+ </BrowserRouter>
43
+ );
44
+ };
@@ -28,6 +28,7 @@ interface ConfirmNavigationRenderProps {
28
28
 
29
29
  export interface ConfirmNavigationOwnProps {
30
30
  when?: boolean;
31
+ ignoreSearchChanges?: boolean;
31
32
  title?: string;
32
33
  description?: string;
33
34
  component?: ComponentType<ConfirmNavigationRenderProps> | FC<ConfirmNavigationRenderProps>;
@@ -140,7 +141,8 @@ class ConfirmNavigationUnwrapped extends Component<ConfirmNavigationProps> {
140
141
 
141
142
  const hasChanged =
142
143
  history.location.pathname !== targetLocation.pathname ||
143
- history.location.search !== targetLocation.search;
144
+ (!this.props.ignoreSearchChanges &&
145
+ history.location.search !== targetLocation.search);
144
146
 
145
147
  if (hasChanged) {
146
148
  runInAction(() => {
@@ -0,0 +1,60 @@
1
+ import { useState, Fragment, FC } from 'react';
2
+ import { Link, useLocation } from 'react-router-dom';
3
+
4
+ import { Button, ButtonGroup, Checkbox } from '@servicetitan/design-system';
5
+
6
+ import { ConfirmNavigation } from '..';
7
+ //
8
+
9
+ export const IgnoreSearchChangesExample: FC = () => {
10
+ const [confirm, setConfirm] = useState(true);
11
+ const handleConfirmChange = (_0: never, checked: boolean) => {
12
+ setConfirm(checked);
13
+ };
14
+
15
+ const [ignoreSearch, setIgnoreSearch] = useState(true);
16
+ const handleIgnoreSearchChange = (_0: never, checked: boolean) => {
17
+ setIgnoreSearch(checked);
18
+ };
19
+
20
+ return (
21
+ <Fragment>
22
+ <Checkbox
23
+ label="Confirm Navigation?"
24
+ checked={confirm}
25
+ onChange={handleConfirmChange}
26
+ />
27
+ <Checkbox
28
+ label="Ignore search changes?"
29
+ checked={ignoreSearch}
30
+ onChange={handleIgnoreSearchChange}
31
+ />
32
+
33
+ <ConfirmNavigation when={confirm} ignoreSearchChanges={ignoreSearch} />
34
+
35
+ <AdvancedUrlChange />
36
+ </Fragment>
37
+ );
38
+ };
39
+
40
+ const AdvancedUrlChange = () => {
41
+ const location = useLocation();
42
+ const newPath =
43
+ location.pathname === '/some-new-path-1' ? '/another-new-path-2' : '/some-new-path-1';
44
+ const newSearch =
45
+ location.search === '?newParam=true' ? '?anotherParam=true' : '?newParam=true';
46
+ return (
47
+ <ButtonGroup>
48
+ <Link to={newPath}>
49
+ <Button primary className="m-t-2">
50
+ Change path
51
+ </Button>
52
+ </Link>
53
+ <Link to={location.pathname + newSearch}>
54
+ <Button primary className="m-t-2">
55
+ Change only search
56
+ </Button>
57
+ </Link>
58
+ </ButtonGroup>
59
+ );
60
+ };
package/src/demo/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './basic';
2
2
  export * from './custom';
3
+ export * from './ignore-search-changes-example';