ag-common 0.0.148 → 0.0.152

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.
@@ -85,7 +85,14 @@ const PromptModal = ({ wrapper, res, bottomText, topText, okText = 'OK', cancelT
85
85
  react_1.default.createElement(Content, null,
86
86
  topText && react_1.default.createElement(TopText, null, topText),
87
87
  react_1.default.createElement(BottomText, null, bottomText),
88
- react_1.default.createElement(TextEdit_1.TextEdit, { defaultValue: text, onSubmit: (c) => setText(c), placeholder: placeholder, defaultEditing: { focus: true }, singleLine: true, noGrow: true }),
88
+ react_1.default.createElement(TextEdit_1.TextEdit, { defaultValue: text, onSubmit: (c, enter) => {
89
+ if (enter) {
90
+ ret(c);
91
+ }
92
+ else {
93
+ setText(c);
94
+ }
95
+ }, placeholder: placeholder, defaultEditing: { focus: true }, singleLine: true, noGrow: true }),
89
96
  react_1.default.createElement(Bottom, { noGrow: true },
90
97
  react_1.default.createElement(Button_1.Button, { onClick: () => ret(text) }, okText),
91
98
  react_1.default.createElement(Button_1.Button, { invert: true, onClick: () => ret(undefined) }, cancelText))))));
@@ -14,7 +14,10 @@ export declare const TextEdit: ({ defaultValue, defaultEditing, onSubmit, disabl
14
14
  defaultEditing?: {
15
15
  focus: boolean;
16
16
  } | undefined;
17
- onSubmit: (val: string) => void;
17
+ /**
18
+ * on submit.
19
+ */
20
+ onSubmit: (val: string, enterPressed: boolean) => void;
18
21
  disableEdit?: boolean | undefined;
19
22
  placeholder?: string | undefined;
20
23
  onEditingChange?: ((editing: boolean) => void) | undefined;
@@ -77,7 +77,7 @@ const TextEdit = ({ defaultValue, defaultEditing, onSubmit, disableEdit = false,
77
77
  const valueChange = value !== defaultValue;
78
78
  (0, useOnClickOutside_1.useOnClickOutside)({ ref, moveMouseOutside: false }, () => {
79
79
  if (valueChange) {
80
- onSubmit(value);
80
+ onSubmit(value, false);
81
81
  }
82
82
  else {
83
83
  if (!disableEdit && editing && defaultEditing) {
@@ -126,9 +126,12 @@ const TextEdit = ({ defaultValue, defaultEditing, onSubmit, disableEdit = false,
126
126
  return (react_1.default.createElement(ValueBoxEdit, Object.assign({}, common_2.noDrag, { className: className, "data-editing": "true",
127
127
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
128
128
  ref: ref, tabIndex: editing ? 0 : undefined, "data-nogrow": noGrow }),
129
- react_1.default.createElement(Comp, { "data-editing": "true", "data-valuechange": valueChange.toString(), ref: taref, "data-type": "text", value: value, onChange: (v) => setValue(v.currentTarget.value), placeholder: placeholder, rows: singleLine ? 1 : undefined, onKeyDown: (e) => singleLine && e.code.endsWith('Enter') && onSubmit(value) && false }),
129
+ react_1.default.createElement(Comp, { "data-editing": "true", "data-valuechange": valueChange.toString(), ref: taref, "data-type": "text", value: value, onChange: (v) => setValue(v.currentTarget.value), placeholder: placeholder, rows: singleLine ? 1 : undefined, onKeyDown: (e) => singleLine &&
130
+ e.code.endsWith('Enter') &&
131
+ onSubmit(value, true) &&
132
+ false }),
130
133
  react_1.default.createElement(Right, null,
131
- valueChange && (react_1.default.createElement(Icon, { style: common_1.iconLeft, onClick: () => valueChange && onSubmit(value) },
134
+ valueChange && (react_1.default.createElement(Icon, { style: common_1.iconLeft, onClick: () => valueChange && onSubmit(value, false) },
132
135
  react_1.default.createElement(images_1.SaveIcon, null))),
133
136
  (valueChange || editing !== !!defaultEditing) && (react_1.default.createElement(Icon, { style: common_1.iconRight, onClick: () => {
134
137
  setEditing(!!defaultEditing);
@@ -67,7 +67,7 @@ export interface IStateCommon<TRequest extends IRequestCommon> extends IInitialS
67
67
  * @param param0
68
68
  * @returns
69
69
  */
70
- export declare const getClientOrServerReqHref: ({ href, query, }: {
70
+ export declare const getClientOrServerReqHref: ({ href, query, forceServer, }: {
71
71
  /**
72
72
  * will use window if possible
73
73
  */
@@ -76,6 +76,28 @@ export declare const getClientOrServerReqHref: ({ href, query, }: {
76
76
  * pass in query string params
77
77
  */
78
78
  query?: Record<string, string> | undefined;
79
+ /**
80
+ * if true, wont use window location. default false
81
+ */
82
+ forceServer?: boolean | undefined;
83
+ }) => LocationSubset;
84
+ /**
85
+ * get server side parsed url
86
+ * @param param0 * @returns
87
+ */
88
+ export declare const getServerReq: ({ host, pathname, query, }: {
89
+ /**
90
+ * eg ctx?.req?.headers?.host OR (user provided host eg test.com)
91
+ */
92
+ host: string;
93
+ /**
94
+ * eg ctx.asPath || '/'
95
+ */
96
+ pathname: string;
97
+ /**
98
+ * eg ctx.query
99
+ */
100
+ query: Record<string, string | string[] | undefined>;
79
101
  }) => LocationSubset;
80
102
  export interface INextCtx {
81
103
  req?: {
@@ -86,8 +108,3 @@ export interface INextCtx {
86
108
  asPath?: string;
87
109
  query: Record<string, string | string[] | undefined>;
88
110
  }
89
- /**
90
- * get parsed url from nextjs server host/pathname/query
91
- * @param param0 * @returns
92
- */
93
- export declare const getServerReq: (ctx: INextCtx) => LocationSubset | null;
@@ -23,8 +23,8 @@ const calculateServerHref = ({ host, pathname, }) => {
23
23
  * @param param0
24
24
  * @returns
25
25
  */
26
- const getClientOrServerReqHref = ({ href, query, }) => {
27
- if (typeof window !== 'undefined') {
26
+ const getClientOrServerReqHref = ({ href, query, forceServer = false, }) => {
27
+ if (typeof window !== 'undefined' && !forceServer) {
28
28
  href = window.location.href;
29
29
  }
30
30
  if (!href) {
@@ -45,22 +45,22 @@ const getClientOrServerReqHref = ({ href, query, }) => {
45
45
  };
46
46
  exports.getClientOrServerReqHref = getClientOrServerReqHref;
47
47
  /**
48
- * get parsed url from nextjs server host/pathname/query
48
+ * get server side parsed url
49
49
  * @param param0 * @returns
50
50
  */
51
- const getServerReq = (ctx) => {
52
- var _a, _b;
53
- if (!((_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? void 0 : _b.host) || !(ctx === null || ctx === void 0 ? void 0 : ctx.asPath)) {
54
- return null;
55
- }
51
+ const getServerReq = ({ host, pathname, query, }) => {
56
52
  const href = calculateServerHref({
57
- host: ctx.req.headers.host,
58
- pathname: ctx.asPath,
53
+ host,
54
+ pathname,
59
55
  });
60
- const parsedQuery = !ctx.query || Object.keys(ctx.query).length === 0
56
+ const parsedQuery = !query || Object.keys(query).length === 0
61
57
  ? undefined
62
- : (0, object_1.castStringlyObject)(ctx.query);
63
- const ret = (0, exports.getClientOrServerReqHref)({ href, query: parsedQuery });
58
+ : (0, object_1.castStringlyObject)(query);
59
+ const ret = (0, exports.getClientOrServerReqHref)({
60
+ href,
61
+ query: parsedQuery,
62
+ forceServer: true,
63
+ });
64
64
  return ret;
65
65
  };
66
66
  exports.getServerReq = getServerReq;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-common",
3
- "version": "0.0.148",
3
+ "version": "0.0.152",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "author": "Andrei Gec <@andreigec> (https://gec.dev/)",