@progress/kendo-react-gauges 7.2.4-develop.2 → 7.2.4-develop.4
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/ArcCenter.js +8 -0
- package/ArcCenter.mjs +60 -0
- package/ArcGauge.js +8 -0
- package/ArcGauge.mjs +77 -0
- package/BaseGauge.js +8 -0
- package/BaseGauge.mjs +171 -0
- package/CircularGauge.js +8 -0
- package/CircularGauge.mjs +18 -0
- package/GaugeContext.js +8 -0
- package/GaugeContext.mjs +14 -0
- package/LinearGauge.js +8 -0
- package/LinearGauge.mjs +72 -0
- package/RadialGauge.js +8 -0
- package/RadialGauge.mjs +72 -0
- package/dist/cdn/js/kendo-react-gauges.js +8 -9
- package/index.d.mts +672 -5
- package/index.d.ts +672 -15
- package/index.js +8 -9
- package/index.mjs +15 -500
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +3 -3
- package/store/reducer.js +8 -0
- package/store/reducer.mjs +58 -0
- package/store/store.js +8 -0
- package/store/store.mjs +20 -0
- package/theming/theme-service.js +12 -0
- package/theming/theme-service.mjs +49 -0
- package/utils/common.js +8 -0
- package/utils/common.mjs +29 -0
- package/ArcCenter.d.ts +0 -40
- package/ArcGauge.d.ts +0 -37
- package/ArcGaugeProps.d.ts +0 -43
- package/BaseGauge.d.ts +0 -93
- package/BaseGaugeProps.d.ts +0 -55
- package/CircularGauge.d.ts +0 -10
- package/CircularGaugeProps.d.ts +0 -21
- package/GaugeContext.d.ts +0 -16
- package/LinearGauge.d.ts +0 -36
- package/LinearGaugeProps.d.ts +0 -19
- package/RadialGauge.d.ts +0 -36
- package/RadialGaugeProps.d.ts +0 -19
- package/common/gauges.d.ts +0 -9
- package/package-metadata.d.ts +0 -9
- package/store/reducer.d.ts +0 -18
- package/store/store.d.ts +0 -30
- package/theming/theme-service.d.ts +0 -10
- package/types/arc-scale.interface.d.ts +0 -32
- package/types/border.interface.d.ts +0 -22
- package/types/cap.interface.d.ts +0 -17
- package/types/circular-scale.interface.d.ts +0 -14
- package/types/color-range.interface.d.ts +0 -25
- package/types/dash-type.interface.d.ts +0 -8
- package/types/gauge-area.interface.d.ts +0 -31
- package/types/labels.interface.d.ts +0 -51
- package/types/line-cap.d.ts +0 -8
- package/types/line.interface.d.ts +0 -26
- package/types/linear-pointer-shape.d.ts +0 -8
- package/types/linear-pointer.interface.d.ts +0 -40
- package/types/linear-scale.interface.d.ts +0 -30
- package/types/margin.interface.d.ts +0 -25
- package/types/padding.interface.d.ts +0 -25
- package/types/radial-label-position.d.ts +0 -8
- package/types/radial-labels.interface.d.ts +0 -12
- package/types/radial-pointer.interface.d.ts +0 -26
- package/types/radial-scale.interface.d.ts +0 -32
- package/types/range.interface.d.ts +0 -25
- package/types/scale.interface.d.ts +0 -51
- package/types/ticks.interface.d.ts +0 -25
- package/types.d.ts +0 -25
- package/utils/common.d.ts +0 -5
package/ArcCenter.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),d=require("@progress/kendo-charts"),g=require("./GaugeContext.js");function h(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const c=h(u),l=class l extends c.Component{constructor(t,e){super(t,e),this.state={arcCenterStyles:null,arcCenterValue:{value:0,color:""}},this._element=null,this.gaugeObserver=new d.InstanceObserver(this,{render:"onRender"}),e.observersStore.dispatch({type:"add",payload:this.gaugeObserver})}render(){const{render:t}=this.props,{arcCenterStyles:e,arcCenterValue:r}=this.state,o=e||{zIndex:-1};let s=null;return t&&(s=c.createElement("div",{className:"k-arcgauge-label",ref:i=>this._element=i,style:o},t(r.value,r.color))),s}onRender(t){if(!this._element)return;const e=t.sender.gaugeInstance,r=this._element.offsetWidth,o=this._element.offsetHeight,s=e.centerLabelPosition(r,o);this.setState({arcCenterStyles:{left:s.left,top:s.top},arcCenterValue:{value:e.value(),color:e.currentColor()}})}};l.contextType=g.GaugeContext;let a=l;exports.ArcCenter=a;
|
package/ArcCenter.mjs
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as a from "react";
|
|
10
|
+
import { InstanceObserver as c } from "@progress/kendo-charts";
|
|
11
|
+
import { GaugeContext as u } from "./GaugeContext.mjs";
|
|
12
|
+
const o = class o extends a.Component {
|
|
13
|
+
constructor(t, e) {
|
|
14
|
+
super(t, e), this.state = {
|
|
15
|
+
arcCenterStyles: null,
|
|
16
|
+
arcCenterValue: {
|
|
17
|
+
value: 0,
|
|
18
|
+
color: ""
|
|
19
|
+
}
|
|
20
|
+
}, this._element = null, this.gaugeObserver = new c(this, {
|
|
21
|
+
render: "onRender"
|
|
22
|
+
}), e.observersStore.dispatch({
|
|
23
|
+
type: "add",
|
|
24
|
+
payload: this.gaugeObserver
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
const { render: t } = this.props, { arcCenterStyles: e, arcCenterValue: s } = this.state, n = e || { zIndex: -1 };
|
|
29
|
+
let r = null;
|
|
30
|
+
return t && (r = /* @__PURE__ */ a.createElement(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
className: "k-arcgauge-label",
|
|
34
|
+
ref: (i) => this._element = i,
|
|
35
|
+
style: n
|
|
36
|
+
},
|
|
37
|
+
t(s.value, s.color)
|
|
38
|
+
)), r;
|
|
39
|
+
}
|
|
40
|
+
onRender(t) {
|
|
41
|
+
if (!this._element)
|
|
42
|
+
return;
|
|
43
|
+
const e = t.sender.gaugeInstance, s = this._element.offsetWidth, n = this._element.offsetHeight, r = e.centerLabelPosition(s, n);
|
|
44
|
+
this.setState({
|
|
45
|
+
arcCenterStyles: {
|
|
46
|
+
left: r.left,
|
|
47
|
+
top: r.top
|
|
48
|
+
},
|
|
49
|
+
arcCenterValue: {
|
|
50
|
+
value: e.value(),
|
|
51
|
+
color: e.currentColor()
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
o.contextType = u;
|
|
57
|
+
let l = o;
|
|
58
|
+
export {
|
|
59
|
+
l as ArcCenter
|
|
60
|
+
};
|
package/ArcGauge.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),g=require("./BaseGauge.js"),l=require("@progress/kendo-charts"),h=require("./ArcCenter.js"),i=require("@progress/kendo-drawing"),m=require("@progress/kendo-react-common");function p(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const c=p(o);class d extends c.Component{constructor(){super(...arguments),this._baseGauge=null,this.gaugeType=l.ArcGauge,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{value:t,color:n,colors:s,opacity:a,scale:u}=this.props;return Object.assign({},e,{value:t,color:n,colors:s,opacity:a,scale:u})}}get gaugeInstance(){return this._baseGauge?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge?this._baseGauge.surface:null}get element(){return this._baseGauge?this._baseGauge.element:null}render(){const{children:e,arcCenterRender:t,centerRender:n,className:s,...a}=this.props;return c.createElement(g.BaseGauge,{...a,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:u=>this._baseGauge=u,gaugeConstructor:this.gaugeType,getTarget:this.getTarget,className:m.classNames("k-gauge k-arcgauge",s)},e,c.createElement(h.ArcCenter,{render:n||t}))}exportVisual(e){return this.gaugeInstance!==null&&this.element?i.drawDOM(this.element,e):Promise.resolve(new i.Group)}}exports.ArcGauge=d;
|
package/ArcGauge.mjs
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as u from "react";
|
|
10
|
+
import { BaseGauge as i } from "./BaseGauge.mjs";
|
|
11
|
+
import { ArcGauge as g } from "@progress/kendo-charts";
|
|
12
|
+
import { ArcCenter as o } from "./ArcCenter.mjs";
|
|
13
|
+
import { drawDOM as c, Group as l } from "@progress/kendo-drawing";
|
|
14
|
+
import { classNames as m } from "@progress/kendo-react-common";
|
|
15
|
+
class _ extends u.Component {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments), this._baseGauge = null, this.gaugeType = g, this.getTarget = () => this, this.deriveOptionsFromParent = (e) => {
|
|
18
|
+
const { value: r, color: t, colors: s, opacity: a, scale: n } = this.props;
|
|
19
|
+
return Object.assign({}, e, {
|
|
20
|
+
value: r,
|
|
21
|
+
color: t,
|
|
22
|
+
colors: s,
|
|
23
|
+
opacity: a,
|
|
24
|
+
scale: n
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
get gaugeInstance() {
|
|
32
|
+
return this._baseGauge ? this._baseGauge.gaugeInstance : null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The Drawing `Surface` of the Gauge.
|
|
36
|
+
*/
|
|
37
|
+
get surface() {
|
|
38
|
+
return this._baseGauge ? this._baseGauge.surface : null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The DOM element of the Gauge.
|
|
42
|
+
*/
|
|
43
|
+
get element() {
|
|
44
|
+
return this._baseGauge ? this._baseGauge.element : null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @hidden
|
|
48
|
+
*/
|
|
49
|
+
render() {
|
|
50
|
+
const { children: e, arcCenterRender: r, centerRender: t, className: s, ...a } = this.props;
|
|
51
|
+
return /* @__PURE__ */ u.createElement(
|
|
52
|
+
i,
|
|
53
|
+
{
|
|
54
|
+
...a,
|
|
55
|
+
deriveOptionsFromParent: this.deriveOptionsFromParent,
|
|
56
|
+
ref: (n) => this._baseGauge = n,
|
|
57
|
+
gaugeConstructor: this.gaugeType,
|
|
58
|
+
getTarget: this.getTarget,
|
|
59
|
+
className: m("k-gauge k-arcgauge", s)
|
|
60
|
+
},
|
|
61
|
+
e,
|
|
62
|
+
/* @__PURE__ */ u.createElement(o, { render: t || r })
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Exports a Gauge component as a Drawing `Scene`.
|
|
67
|
+
*
|
|
68
|
+
* @param {any} options - The parameters for the export operation.
|
|
69
|
+
* @returns {Promise<Group>} - A promise that returns the root `Group` of the scene.
|
|
70
|
+
*/
|
|
71
|
+
exportVisual(e) {
|
|
72
|
+
return this.gaugeInstance !== null && this.element ? c(this.element, e) : Promise.resolve(new l());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
_ as ArcGauge
|
|
77
|
+
};
|
package/BaseGauge.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("react"),p=require("prop-types"),l=require("@progress/kendo-react-intl"),A=require("./theming/theme-service.js"),m=require("./store/store.js"),v=require("./store/reducer.js"),D=require("./utils/common.js"),f=require("@progress/kendo-react-common"),P=require("./GaugeContext.js"),R=require("./package-metadata.js");function q(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const g=q(w),a=class a extends g.Component{constructor(e){super(e),this.gaugeInstance=null,this.surface=null,this._element=null,this.themeStore={},this.themeUnsubscriber=Function.prototype,this.observersStore={},this.onWindowResize=()=>{this.gaugeInstance!==null&&(this.gaugeInstance.resize(),this.trigger("render",{sender:this}))},f.validatePackage(R.packageMetadata),this.themeStore=m.default(v.themeReducer),this.observersStore=m.default(v.observersReducer),this.contextValue={observersStore:this.observersStore}}get element(){return this._element}componentDidMount(){var t;const e=((t=this._element)==null?void 0:t.ownerDocument)||document;A.loadTheme(this.themeStore,this.instantiateCoreGauge.bind(this),e),this.themeUnsubscriber=this.themeStore.subscribe(this.refresh.bind(this)),window.addEventListener("resize",this.onWindowResize),this.trigger("render",{sender:this})}componentDidUpdate(e){const{dir:t,children:r,deriveOptionsFromParent:s,getTarget:h,gaugeConstructor:x,className:T,renderAs:S,...c}=this.props,{dir:j,children:F,deriveOptionsFromParent:V,getTarget:_,gaugeConstructor:k,className:z,renderAs:b,...O}=e;if(this.gaugeInstance!==null){const u=l.provideIntlService(this),I=this.gaugeInstance.contextService,y=u.locale!==I._intlService.locale,d=D.isOptionsChanged(O,c),i=c;y&&(this.gaugeInstance.contextService._intlService=u,this.gaugeInstance.contextService.format._intlService=u,d||this.gaugeInstance.noTransitionsRedraw()),d||(S||"svg")!==(b||"svg")?this.refresh():Object.keys(c).indexOf("pointer")>-1?Array.isArray(i.pointer)?this.refreshAllValues(i.pointer.map(C=>C.value)):this.refreshValue((i.pointer||{}).value):this.refreshValue(i.value),e.dir!==t&&this.gaugeInstance.setDirection(this.getDirection(t)),this.trigger("render",{sender:this})}}componentWillUnmount(){this.themeUnsubscriber();const e=this.gaugeInstance&&this.gaugeInstance.surfaceElement;e&&e.parentNode&&e.parentNode.removeChild(e),this.gaugeInstance!==null&&(this.gaugeInstance.destroy(),this.gaugeInstance=null),window.removeEventListener("resize",this.onWindowResize)}render(){const{style:e={},className:t,children:r}=this.props,s=Object.assign({},e,{position:"relative"});return g.createElement(P.GaugeContext.Provider,{value:this.contextValue},g.createElement("div",{style:s,ref:h=>this._element=h,className:t},r))}instantiateCoreGauge(){const{dir:e,gaugeConstructor:t}=this.props,r=this.getGaugeOptions();this.gaugeInstance=new t(this.element,r,this.themeStore.getState(),{rtl:this.getDirection(e),intlService:l.provideIntlService(this),sender:this})}refresh(){if(this.gaugeInstance!==null){const e=this.themeStore.getState(),t=this.getGaugeOptions();this.gaugeInstance.setOptions(t,e)}}refreshValue(e){this.gaugeInstance.value(e)}refreshAllValues(e){this.gaugeInstance.allValues(e)}getDirection(e){return(e!==void 0?e:f.canUseDOM&&window.getComputedStyle(this.element).direction||"ltr")==="rtl"}getGaugeOptions(){const{renderAs:e,transitions:t,deriveOptionsFromParent:r}=this.props;let s=Object.assign({renderAs:e,transitions:t});return r&&(s=r(s)),s}trigger(e,t){const r=this.observersStore.getState();for(let s=0;s<r.length;s++)r[s].trigger(e,t)}};a.propTypes={dir:p.string,renderAs:p.oneOf(["svg","canvas"])},a.defaultProps={renderAs:"svg"};let o=a;l.registerForIntl(o);exports.BaseGauge=o;
|
package/BaseGauge.mjs
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as c from "react";
|
|
10
|
+
import u from "prop-types";
|
|
11
|
+
import { provideIntlService as d, registerForIntl as b } from "@progress/kendo-react-intl";
|
|
12
|
+
import { loadTheme as C } from "./theming/theme-service.mjs";
|
|
13
|
+
import m from "./store/store.mjs";
|
|
14
|
+
import { themeReducer as w, observersReducer as y } from "./store/reducer.mjs";
|
|
15
|
+
import { isOptionsChanged as A } from "./utils/common.mjs";
|
|
16
|
+
import { validatePackage as x, canUseDOM as D } from "@progress/kendo-react-common";
|
|
17
|
+
import { GaugeContext as P } from "./GaugeContext.mjs";
|
|
18
|
+
import { packageMetadata as F } from "./package-metadata.mjs";
|
|
19
|
+
const n = class n extends c.Component {
|
|
20
|
+
constructor(e) {
|
|
21
|
+
super(e), this.gaugeInstance = null, this.surface = null, this._element = null, this.themeStore = {}, this.themeUnsubscriber = Function.prototype, this.observersStore = {}, this.onWindowResize = () => {
|
|
22
|
+
this.gaugeInstance !== null && (this.gaugeInstance.resize(), this.trigger("render", { sender: this }));
|
|
23
|
+
}, x(F), this.themeStore = m(w), this.observersStore = m(y), this.contextValue = {
|
|
24
|
+
observersStore: this.observersStore
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
get element() {
|
|
31
|
+
return this._element;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
*/
|
|
36
|
+
componentDidMount() {
|
|
37
|
+
var t;
|
|
38
|
+
const e = ((t = this._element) == null ? void 0 : t.ownerDocument) || document;
|
|
39
|
+
C(this.themeStore, this.instantiateCoreGauge.bind(this), e), this.themeUnsubscriber = this.themeStore.subscribe(this.refresh.bind(this)), window.addEventListener("resize", this.onWindowResize), this.trigger("render", { sender: this });
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
*/
|
|
44
|
+
componentDidUpdate(e) {
|
|
45
|
+
const {
|
|
46
|
+
dir: t,
|
|
47
|
+
children: r,
|
|
48
|
+
deriveOptionsFromParent: s,
|
|
49
|
+
getTarget: g,
|
|
50
|
+
gaugeConstructor: R,
|
|
51
|
+
className: V,
|
|
52
|
+
renderAs: p,
|
|
53
|
+
...o
|
|
54
|
+
} = this.props, {
|
|
55
|
+
dir: T,
|
|
56
|
+
children: z,
|
|
57
|
+
deriveOptionsFromParent: E,
|
|
58
|
+
getTarget: N,
|
|
59
|
+
gaugeConstructor: U,
|
|
60
|
+
className: W,
|
|
61
|
+
renderAs: v,
|
|
62
|
+
...f
|
|
63
|
+
} = e;
|
|
64
|
+
if (this.gaugeInstance !== null) {
|
|
65
|
+
const a = d(this), S = this.gaugeInstance.contextService, I = a.locale !== S._intlService.locale, l = A(f, o), i = o;
|
|
66
|
+
I && (this.gaugeInstance.contextService._intlService = a, this.gaugeInstance.contextService.format._intlService = a, l || this.gaugeInstance.noTransitionsRedraw()), l || (p || "svg") !== (v || "svg") ? this.refresh() : Object.keys(o).indexOf("pointer") > -1 ? Array.isArray(i.pointer) ? this.refreshAllValues(i.pointer.map((O) => O.value)) : this.refreshValue((i.pointer || {}).value) : this.refreshValue(i.value), e.dir !== t && this.gaugeInstance.setDirection(this.getDirection(t)), this.trigger("render", { sender: this });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @hidden
|
|
71
|
+
*/
|
|
72
|
+
componentWillUnmount() {
|
|
73
|
+
this.themeUnsubscriber();
|
|
74
|
+
const e = this.gaugeInstance && this.gaugeInstance.surfaceElement;
|
|
75
|
+
e && e.parentNode && e.parentNode.removeChild(e), this.gaugeInstance !== null && (this.gaugeInstance.destroy(), this.gaugeInstance = null), window.removeEventListener("resize", this.onWindowResize);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @hidden
|
|
79
|
+
*/
|
|
80
|
+
render() {
|
|
81
|
+
const { style: e = {}, className: t, children: r } = this.props, s = Object.assign({}, e, { position: "relative" });
|
|
82
|
+
return /* @__PURE__ */ c.createElement(P.Provider, { value: this.contextValue }, /* @__PURE__ */ c.createElement(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
style: s,
|
|
86
|
+
ref: (g) => this._element = g,
|
|
87
|
+
className: t
|
|
88
|
+
},
|
|
89
|
+
r
|
|
90
|
+
));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @hidden
|
|
94
|
+
*/
|
|
95
|
+
instantiateCoreGauge() {
|
|
96
|
+
const { dir: e, gaugeConstructor: t } = this.props, r = this.getGaugeOptions();
|
|
97
|
+
this.gaugeInstance = new t(
|
|
98
|
+
this.element,
|
|
99
|
+
r,
|
|
100
|
+
this.themeStore.getState(),
|
|
101
|
+
{
|
|
102
|
+
rtl: this.getDirection(e),
|
|
103
|
+
intlService: d(this),
|
|
104
|
+
sender: this
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @hidden
|
|
110
|
+
*/
|
|
111
|
+
refresh() {
|
|
112
|
+
if (this.gaugeInstance !== null) {
|
|
113
|
+
const e = this.themeStore.getState(), t = this.getGaugeOptions();
|
|
114
|
+
this.gaugeInstance.setOptions(t, e);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @hidden
|
|
119
|
+
*/
|
|
120
|
+
refreshValue(e) {
|
|
121
|
+
this.gaugeInstance.value(e);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* @hidden
|
|
125
|
+
*/
|
|
126
|
+
refreshAllValues(e) {
|
|
127
|
+
this.gaugeInstance.allValues(e);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* @hidden
|
|
131
|
+
*/
|
|
132
|
+
getDirection(e) {
|
|
133
|
+
return (e !== void 0 ? e : D && window.getComputedStyle(this.element).direction || "ltr") === "rtl";
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @hidden
|
|
137
|
+
*/
|
|
138
|
+
getGaugeOptions() {
|
|
139
|
+
const {
|
|
140
|
+
renderAs: e,
|
|
141
|
+
transitions: t,
|
|
142
|
+
deriveOptionsFromParent: r
|
|
143
|
+
} = this.props;
|
|
144
|
+
let s = Object.assign(
|
|
145
|
+
{
|
|
146
|
+
renderAs: e,
|
|
147
|
+
transitions: t
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
return r && (s = r(s)), s;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* @hidden
|
|
154
|
+
*/
|
|
155
|
+
trigger(e, t) {
|
|
156
|
+
const r = this.observersStore.getState();
|
|
157
|
+
for (let s = 0; s < r.length; s++)
|
|
158
|
+
r[s].trigger(e, t);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
n.propTypes = {
|
|
162
|
+
dir: u.string,
|
|
163
|
+
renderAs: u.oneOf(["svg", "canvas"])
|
|
164
|
+
}, n.defaultProps = {
|
|
165
|
+
renderAs: "svg"
|
|
166
|
+
};
|
|
167
|
+
let h = n;
|
|
168
|
+
b(h);
|
|
169
|
+
export {
|
|
170
|
+
h as BaseGauge
|
|
171
|
+
};
|
package/CircularGauge.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ArcGauge.js"),r=require("@progress/kendo-charts");class u extends e.ArcGauge{constructor(){super(...arguments),this.gaugeType=r.CircularGauge}}exports.CircularGauge=u;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import { ArcGauge as r } from "./ArcGauge.mjs";
|
|
10
|
+
import { CircularGauge as e } from "@progress/kendo-charts";
|
|
11
|
+
class t extends r {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.gaugeType = e;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
t as CircularGauge
|
|
18
|
+
};
|
package/GaugeContext.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react");function c(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const u=c(a),r=u.createContext(null);r.displayName="GaugeContext";exports.GaugeContext=r;
|
package/GaugeContext.mjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
const t = e.createContext(null);
|
|
11
|
+
t.displayName = "GaugeContext";
|
|
12
|
+
export {
|
|
13
|
+
t as GaugeContext
|
|
14
|
+
};
|
package/LinearGauge.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),i=require("./BaseGauge.js"),o=require("@progress/kendo-charts"),g=require("@progress/kendo-drawing"),c=require("@progress/kendo-react-common");function l(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const s=l(u);class p extends s.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:n}=this.props;return Object.assign({},e,{pointer:t,scale:n})}}get gaugeInstance(){return this._baseGauge!==null?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge!==null?this._baseGauge.surface:null}get element(){return this._baseGauge!==null?this._baseGauge.element:null}render(){const{children:e,className:t,...n}=this.props;return s.createElement(i.BaseGauge,{...n,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:a=>this._baseGauge=a,gaugeConstructor:o.LinearGauge,getTarget:this.getTarget,className:c.classNames("k-gauge",t)},e)}exportVisual(e){return this.gaugeInstance!==null?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new g.Group)}}exports.LinearGauge=p;
|
package/LinearGauge.mjs
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as s from "react";
|
|
10
|
+
import { BaseGauge as n } from "./BaseGauge.mjs";
|
|
11
|
+
import { LinearGauge as u } from "@progress/kendo-charts";
|
|
12
|
+
import { Group as i } from "@progress/kendo-drawing";
|
|
13
|
+
import { classNames as g } from "@progress/kendo-react-common";
|
|
14
|
+
class h extends s.Component {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this._baseGauge = null, this.getTarget = () => this, this.deriveOptionsFromParent = (e) => {
|
|
17
|
+
const { pointer: r, scale: t } = this.props;
|
|
18
|
+
return Object.assign({}, e, {
|
|
19
|
+
pointer: r,
|
|
20
|
+
scale: t
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
get gaugeInstance() {
|
|
28
|
+
return this._baseGauge !== null ? this._baseGauge.gaugeInstance : null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The Drawing `Surface` of the Gauge.
|
|
32
|
+
*/
|
|
33
|
+
get surface() {
|
|
34
|
+
return this._baseGauge !== null ? this._baseGauge.surface : null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The DOM element of the Gauge.
|
|
38
|
+
*/
|
|
39
|
+
get element() {
|
|
40
|
+
return this._baseGauge !== null ? this._baseGauge.element : null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @hidden
|
|
44
|
+
*/
|
|
45
|
+
render() {
|
|
46
|
+
const { children: e, className: r, ...t } = this.props;
|
|
47
|
+
return /* @__PURE__ */ s.createElement(
|
|
48
|
+
n,
|
|
49
|
+
{
|
|
50
|
+
...t,
|
|
51
|
+
deriveOptionsFromParent: this.deriveOptionsFromParent,
|
|
52
|
+
ref: (a) => this._baseGauge = a,
|
|
53
|
+
gaugeConstructor: u,
|
|
54
|
+
getTarget: this.getTarget,
|
|
55
|
+
className: g("k-gauge", r)
|
|
56
|
+
},
|
|
57
|
+
e
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Exports a Gauge component as a Drawing `Scene`.
|
|
62
|
+
*
|
|
63
|
+
* @param {any} options - The parameters for the export operation.
|
|
64
|
+
* @returns {Promise<Group>} - A promise that returns the root `Group` of the scene.
|
|
65
|
+
*/
|
|
66
|
+
exportVisual(e) {
|
|
67
|
+
return this.gaugeInstance !== null ? Promise.resolve(this.gaugeInstance.exportVisual(e)) : Promise.resolve(new i());
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
h as LinearGauge
|
|
72
|
+
};
|
package/RadialGauge.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),i=require("./BaseGauge.js"),o=require("@progress/kendo-charts"),g=require("@progress/kendo-drawing"),l=require("@progress/kendo-react-common");function c(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const a=c(u);class p extends a.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:s}=this.props;return Object.assign({},e,{pointer:t,scale:s})}}get gaugeInstance(){return this._baseGauge!==null?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge!==null?this._baseGauge.surface:null}get element(){return this._baseGauge!==null?this._baseGauge.element:null}render(){const{children:e,className:t,...s}=this.props;return a.createElement(i.BaseGauge,{...s,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:n=>this._baseGauge=n,gaugeConstructor:o.RadialGauge,getTarget:this.getTarget,className:l.classNames("k-gauge",t)},e)}exportVisual(e){return this.gaugeInstance!==null?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new g.Group)}}exports.RadialGauge=p;
|
package/RadialGauge.mjs
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as s from "react";
|
|
10
|
+
import { BaseGauge as n } from "./BaseGauge.mjs";
|
|
11
|
+
import { RadialGauge as u } from "@progress/kendo-charts";
|
|
12
|
+
import { Group as i } from "@progress/kendo-drawing";
|
|
13
|
+
import { classNames as g } from "@progress/kendo-react-common";
|
|
14
|
+
class h extends s.Component {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this._baseGauge = null, this.getTarget = () => this, this.deriveOptionsFromParent = (e) => {
|
|
17
|
+
const { pointer: t, scale: r } = this.props;
|
|
18
|
+
return Object.assign({}, e, {
|
|
19
|
+
pointer: t,
|
|
20
|
+
scale: r
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
get gaugeInstance() {
|
|
28
|
+
return this._baseGauge !== null ? this._baseGauge.gaugeInstance : null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The Drawing `Surface` of the Gauge.
|
|
32
|
+
*/
|
|
33
|
+
get surface() {
|
|
34
|
+
return this._baseGauge !== null ? this._baseGauge.surface : null;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The DOM element of the Gauge.
|
|
38
|
+
*/
|
|
39
|
+
get element() {
|
|
40
|
+
return this._baseGauge !== null ? this._baseGauge.element : null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @hidden
|
|
44
|
+
*/
|
|
45
|
+
render() {
|
|
46
|
+
const { children: e, className: t, ...r } = this.props;
|
|
47
|
+
return /* @__PURE__ */ s.createElement(
|
|
48
|
+
n,
|
|
49
|
+
{
|
|
50
|
+
...r,
|
|
51
|
+
deriveOptionsFromParent: this.deriveOptionsFromParent,
|
|
52
|
+
ref: (a) => this._baseGauge = a,
|
|
53
|
+
gaugeConstructor: u,
|
|
54
|
+
getTarget: this.getTarget,
|
|
55
|
+
className: g("k-gauge", t)
|
|
56
|
+
},
|
|
57
|
+
e
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Exports a Gauge component as a Drawing `Scene`.
|
|
62
|
+
*
|
|
63
|
+
* @param {any} options - The parameters for the export operation.
|
|
64
|
+
* @returns {Promise<Group>} - A promise that returns the root `Group` of the scene.
|
|
65
|
+
*/
|
|
66
|
+
exportVisual(e) {
|
|
67
|
+
return this.gaugeInstance !== null ? Promise.resolve(this.gaugeInstance.exportVisual(e)) : Promise.resolve(new i());
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export {
|
|
71
|
+
h as RadialGauge
|
|
72
|
+
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<div class="k-var--normal-text-color"></div>
|
|
9
|
-
`;class N{constructor(e){this.store=e}setStyle(e,t){this.store.dispatch({type:"set",payload:{field:e,value:t}})}setColors(){this.mapColor("pointer.color","gauge-pointer"),this.mapColor("scale.rangePlaceholderColor","gauge-track"),this.mapColor("scale.labels.color","normal-text-color"),this.mapColor("scale.minorTicks.color","normal-text-color"),this.mapColor("scale.majorTicks.color","normal-text-color"),this.mapColor("scale.line.color","normal-text-color")}mapColor(e,t){this.setStyle(e,this.queryStyle(t).backgroundColor)}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}}const j=(s,e,t)=>{const r=new N(s);if(typeof t=="undefined"){s.dispatch({type:"push",payload:c.chartBaseTheme()});return}const n=r.element=t.createElement("div");n.style.display="none",n.innerHTML=x,t.body.appendChild(n);try{s.dispatch({type:"push",payload:c.chartBaseTheme()}),r.setColors()}finally{t.body.removeChild(r.element),delete r.element,e()}},E=1e3/60,C=s=>{let e,t,r=[];const n=()=>e,a=u=>{e=s(e,u),g.canUseDOM&&(window.clearTimeout(t),t=window.setTimeout(()=>r.forEach(d=>d()),E))},o=u=>(r.push(u),()=>r=r.filter(d=>d!==u));return a({}),{getState:n,dispatch:a,subscribe:o}},V=(s,e)=>{if(e.type)switch(e.type){case"set":return F.themeItem(s,e);case"push":return Object.assign(s,e.payload);default:return s}else return{}},A=(s,e)=>{if(e.type)switch(e.type){case"add":return[...s,e.payload];case"remove":return s.filter(t=>t!==e.payload);default:return s}else return[]},F={configurationItem(s,e){return Object.assign(s,{[e.gaugeKey]:e.payload})},collectionConfigurationItem(s,e){let t=!1;const[r,n]=e.gaugeCollectionIdxKey.split("_"),a=s[r].map((o,u)=>parseInt(n,10)===u?(t=!0,e.payload):o);return t===!1&&a.splice(parseInt(n,10),0,e.payload),Object.assign(s,{[r]:a})},themeItem(s,e){let t={},r=Object.assign(t,s);const{field:n,value:a}=e.payload,o=n.split(".");let u=o.shift();for(;o.length>0;)t=t[u]=t[u]||{},u=o.shift();return t[u]=a,r}},I=s=>typeof s=="object",S=(s,e)=>{if(Object.keys(s).length!==Object.keys(e).length)return!0;for(let t in s)if(t!=="value"&&s.hasOwnProperty(t)){const r=s[t],n=e[t];if(I(r)&&I(n)?S(r,n):r!==n)return!0}return!1},k=(s,e)=>{if(!s||!e||(s=[].concat(s),e=[].concat(e),s.length!==e.length))return!0;for(let t=0;t<s.length;t++)if(S(s[t],e[t]))return!0;return!1},y=l.createContext(null);y.displayName="GaugeContext";const D={name:"@progress/kendo-react-gauges",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};class h extends l.Component{constructor(e){super(e),this.gaugeInstance=null,this.surface=null,this._element=null,this.themeStore={},this.themeUnsubscriber=Function.prototype,this.observersStore={},this.onWindowResize=()=>{this.gaugeInstance!==null&&(this.gaugeInstance.resize(),this.trigger("render",{sender:this}))},g.validatePackage(D),this.themeStore=C(V),this.observersStore=C(A),this.contextValue={observersStore:this.observersStore}}get element(){return this._element}componentDidMount(){var t;const e=((t=this._element)==null?void 0:t.ownerDocument)||document;j(this.themeStore,this.instantiateCoreGauge.bind(this),e),this.themeUnsubscriber=this.themeStore.subscribe(this.refresh.bind(this)),window.addEventListener("resize",this.onWindowResize),this.trigger("render",{sender:this})}componentDidUpdate(e){const{dir:t,children:r,deriveOptionsFromParent:n,getTarget:a,gaugeConstructor:o,className:u,renderAs:d,...b}=this.props,{dir:H,children:$,deriveOptionsFromParent:J,getTarget:Q,gaugeConstructor:X,className:Y,renderAs:U,...q}=e;if(this.gaugeInstance!==null){const O=v.provideIntlService(this),L=this.gaugeInstance.contextService,z=O.locale!==L._intlService.locale,w=k(q,b),f=b;z&&(this.gaugeInstance.contextService._intlService=O,this.gaugeInstance.contextService.format._intlService=O,w||this.gaugeInstance.noTransitionsRedraw()),w||(d||"svg")!==(U||"svg")?this.refresh():Object.keys(b).indexOf("pointer")>-1?Array.isArray(f.pointer)?this.refreshAllValues(f.pointer.map(W=>W.value)):this.refreshValue((f.pointer||{}).value):this.refreshValue(f.value),e.dir!==t&&this.gaugeInstance.setDirection(this.getDirection(t)),this.trigger("render",{sender:this})}}componentWillUnmount(){this.themeUnsubscriber();const e=this.gaugeInstance&&this.gaugeInstance.surfaceElement;e&&e.parentNode&&e.parentNode.removeChild(e),this.gaugeInstance!==null&&(this.gaugeInstance.destroy(),this.gaugeInstance=null),window.removeEventListener("resize",this.onWindowResize)}render(){const{style:e={},className:t,children:r}=this.props,n=Object.assign({},e,{position:"relative"});return l.createElement(y.Provider,{value:this.contextValue},l.createElement("div",{style:n,ref:a=>this._element=a,className:t},r))}instantiateCoreGauge(){const{dir:e,gaugeConstructor:t}=this.props,r=this.getGaugeOptions();this.gaugeInstance=new t(this.element,r,this.themeStore.getState(),{rtl:this.getDirection(e),intlService:v.provideIntlService(this),sender:this})}refresh(){if(this.gaugeInstance!==null){const e=this.themeStore.getState(),t=this.getGaugeOptions();this.gaugeInstance.setOptions(t,e)}}refreshValue(e){this.gaugeInstance.value(e)}refreshAllValues(e){this.gaugeInstance.allValues(e)}getDirection(e){return(e!==void 0?e:(()=>g.canUseDOM&&window.getComputedStyle(this.element).direction)()||"ltr")==="rtl"}getGaugeOptions(){const{renderAs:e,transitions:t,deriveOptionsFromParent:r}=this.props;let n=Object.assign({renderAs:e,transitions:t});return r&&(n=r(n)),n}trigger(e,t){const r=this.observersStore.getState();for(let n=0;n<r.length;n++)r[n].trigger(e,t)}}h.propTypes={dir:G.string,renderAs:G.oneOf(["svg","canvas"])},h.defaultProps={renderAs:"svg"},v.registerForIntl(h);class _ extends l.Component{constructor(e,t){super(e,t),this.state={arcCenterStyles:null,arcCenterValue:{value:0,color:""}},this._element=null,this.gaugeObserver=new c.InstanceObserver(this,{render:"onRender"}),t.observersStore.dispatch({type:"add",payload:this.gaugeObserver})}render(){const{render:e}=this.props,{arcCenterStyles:t,arcCenterValue:r}=this.state,n=t||{zIndex:-1};let a=null;return e&&(a=l.createElement("div",{className:"k-arcgauge-label",ref:o=>this._element=o,style:n},e(r.value,r.color))),a}onRender(e){if(!this._element)return;const t=e.sender.gaugeInstance,r=this._element.offsetWidth,n=this._element.offsetHeight,a=t.centerLabelPosition(r,n);this.setState({arcCenterStyles:{left:a.left,top:a.top},arcCenterValue:{value:t.value(),color:t.currentColor()}})}}_.contextType=y;class T extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.gaugeType=c.ArcGauge,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{value:t,color:r,colors:n,opacity:a,scale:o}=this.props;return Object.assign({},e,{value:t,color:r,colors:n,opacity:a,scale:o})}}get gaugeInstance(){return this._baseGauge?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge?this._baseGauge.surface:null}get element(){return this._baseGauge?this._baseGauge.element:null}render(){const{children:e,arcCenterRender:t,centerRender:r,className:n,...a}=this.props;return l.createElement(h,{...a,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:o=>this._baseGauge=o,gaugeConstructor:this.gaugeType,getTarget:this.getTarget,className:g.classNames("k-gauge k-arcgauge",n)},e,l.createElement(_,{render:r||t}))}exportVisual(e){return this.gaugeInstance!==null&&this.element?m.drawDOM(this.element,e):Promise.resolve(new m.Group)}}class R extends T{constructor(){super(...arguments),this.gaugeType=c.CircularGauge}}class K extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:r}=this.props;return Object.assign({},e,{pointer:t,scale:r})}}get gaugeInstance(){return this._baseGauge!==null?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge!==null?this._baseGauge.surface:null}get element(){return this._baseGauge!==null?this._baseGauge.element:null}render(){const{children:e,className:t,...r}=this.props;return l.createElement(h,{...r,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:n=>this._baseGauge=n,gaugeConstructor:c.LinearGauge,getTarget:this.getTarget,className:g.classNames("k-gauge",t)},e)}exportVisual(e){return this.gaugeInstance!==null?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new m.Group)}}class M extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:r}=this.props;return Object.assign({},e,{pointer:t,scale:r})}}get gaugeInstance(){return this._baseGauge!==null?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge!==null?this._baseGauge.surface:null}get element(){return this._baseGauge!==null?this._baseGauge.element:null}render(){const{children:e,className:t,...r}=this.props;return l.createElement(h,{...r,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:n=>this._baseGauge=n,gaugeConstructor:c.RadialGauge,getTarget:this.getTarget,className:g.classNames("k-gauge",t)},e)}exportVisual(e){return this.gaugeInstance!==null?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new m.Group)}}i.ArcGauge=T,i.CircularGauge=R,i.LinearGauge=K,i.RadialGauge=M,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-intl"),require("@progress/kendo-charts"),require("@progress/kendo-react-common"),require("@progress/kendo-drawing")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-intl","@progress/kendo-charts","@progress/kendo-react-common","@progress/kendo-drawing"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactGauges={},e.React,e.PropTypes,e.KendoReactIntl,e.KendoCharts,e.KendoReactCommon,e.KendoDrawing)}(this,(function(e,t,r,s,n,a,i){"use strict";function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=o(t);let c=class{constructor(e){this.store=e}setStyle(e,t){this.store.dispatch({type:"set",payload:{field:e,value:t}})}setColors(){this.mapColor("pointer.color","gauge-pointer"),this.mapColor("scale.rangePlaceholderColor","gauge-track"),this.mapColor("scale.labels.color","normal-text-color"),this.mapColor("scale.minorTicks.color","normal-text-color"),this.mapColor("scale.majorTicks.color","normal-text-color"),this.mapColor("scale.line.color","normal-text-color")}mapColor(e,t){this.setStyle(e,this.queryStyle(t).backgroundColor)}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}};const u=e=>{let t,r,s=[];const n=n=>{t=e(t,n),a.canUseDOM&&(window.clearTimeout(r),r=window.setTimeout((()=>s.forEach((e=>e()))),16.666666666666668))};return n({}),{getState:()=>t,dispatch:n,subscribe:e=>(s.push(e),()=>s=s.filter((t=>t!==e)))}},g=(e,t)=>{if(!t.type)return{};switch(t.type){case"set":return p.themeItem(e,t);case"push":return Object.assign(e,t.payload);default:return e}},h=(e,t)=>{if(!t.type)return[];switch(t.type){case"add":return[...e,t.payload];case"remove":return e.filter((e=>e!==t.payload));default:return e}},p={configurationItem:(e,t)=>Object.assign(e,{[t.gaugeKey]:t.payload}),collectionConfigurationItem(e,t){let r=!1;const[s,n]=t.gaugeCollectionIdxKey.split("_"),a=e[s].map(((e,s)=>parseInt(n,10)===s?(r=!0,t.payload):e));return!1===r&&a.splice(parseInt(n,10),0,t.payload),Object.assign(e,{[s]:a})},themeItem(e,t){let r={},s=Object.assign(r,e);const{field:n,value:a}=t.payload,i=n.split(".");let o=i.shift();for(;i.length>0;)r=r[o]=r[o]||{},o=i.shift();return r[o]=a,s}},d=e=>"object"==typeof e,m=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let r in e)if("value"!==r&&e.hasOwnProperty(r)){const s=e[r],n=t[r];if(d(s)&&d(n)?m(s,n):s!==n)return!0}return!1},v=l.createContext(null);v.displayName="GaugeContext";const f={name:"@progress/kendo-react-gauges",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},b=class extends l.Component{constructor(e){super(e),this.gaugeInstance=null,this.surface=null,this._element=null,this.themeStore={},this.themeUnsubscriber=Function.prototype,this.observersStore={},this.onWindowResize=()=>{null!==this.gaugeInstance&&(this.gaugeInstance.resize(),this.trigger("render",{sender:this}))},a.validatePackage(f),this.themeStore=u(g),this.observersStore=u(h),this.contextValue={observersStore:this.observersStore}}get element(){return this._element}componentDidMount(){var e;const t=(null==(e=this._element)?void 0:e.ownerDocument)||document;((e,t,r)=>{const s=new c(e);if(void 0===r)return void e.dispatch({type:"push",payload:n.chartBaseTheme()});const a=s.element=r.createElement("div");a.style.display="none",a.innerHTML='\n <div class="k-var--gauge-pointer"></div>\n <div class="k-var--gauge-track"></div>\n <div class="k-var--normal-text-color"></div>\n',r.body.appendChild(a);try{e.dispatch({type:"push",payload:n.chartBaseTheme()}),s.setColors()}finally{r.body.removeChild(s.element),delete s.element,t()}})(this.themeStore,this.instantiateCoreGauge.bind(this),t),this.themeUnsubscriber=this.themeStore.subscribe(this.refresh.bind(this)),window.addEventListener("resize",this.onWindowResize),this.trigger("render",{sender:this})}componentDidUpdate(e){const{dir:t,children:r,deriveOptionsFromParent:n,getTarget:a,gaugeConstructor:i,className:o,renderAs:l,...c}=this.props,{dir:u,children:g,deriveOptionsFromParent:h,getTarget:p,gaugeConstructor:d,className:v,renderAs:f,...b}=e;if(null!==this.gaugeInstance){const r=s.provideIntlService(this),n=this.gaugeInstance.contextService,a=r.locale!==n._intlService.locale,i=((e,t)=>{if(!e||!t||(e=[].concat(e),t=[].concat(t),e.length!==t.length))return!0;for(let r=0;r<e.length;r++)if(m(e[r],t[r]))return!0;return!1})(b,c),o=c;a&&(this.gaugeInstance.contextService._intlService=r,this.gaugeInstance.contextService.format._intlService=r,i||this.gaugeInstance.noTransitionsRedraw()),i||(l||"svg")!==(f||"svg")?this.refresh():Object.keys(c).indexOf("pointer")>-1?Array.isArray(o.pointer)?this.refreshAllValues(o.pointer.map((e=>e.value))):this.refreshValue((o.pointer||{}).value):this.refreshValue(o.value),e.dir!==t&&this.gaugeInstance.setDirection(this.getDirection(t)),this.trigger("render",{sender:this})}}componentWillUnmount(){this.themeUnsubscriber();const e=this.gaugeInstance&&this.gaugeInstance.surfaceElement;e&&e.parentNode&&e.parentNode.removeChild(e),null!==this.gaugeInstance&&(this.gaugeInstance.destroy(),this.gaugeInstance=null),window.removeEventListener("resize",this.onWindowResize)}render(){const{style:e={},className:t,children:r}=this.props,s=Object.assign({},e,{position:"relative"});return l.createElement(v.Provider,{value:this.contextValue},l.createElement("div",{style:s,ref:e=>this._element=e,className:t},r))}instantiateCoreGauge(){const{dir:e,gaugeConstructor:t}=this.props,r=this.getGaugeOptions();this.gaugeInstance=new t(this.element,r,this.themeStore.getState(),{rtl:this.getDirection(e),intlService:s.provideIntlService(this),sender:this})}refresh(){if(null!==this.gaugeInstance){const e=this.themeStore.getState(),t=this.getGaugeOptions();this.gaugeInstance.setOptions(t,e)}}refreshValue(e){this.gaugeInstance.value(e)}refreshAllValues(e){this.gaugeInstance.allValues(e)}getDirection(e){return"rtl"===(void 0!==e?e:a.canUseDOM&&window.getComputedStyle(this.element).direction||"ltr")}getGaugeOptions(){const{renderAs:e,transitions:t,deriveOptionsFromParent:r}=this.props;let s=Object.assign({renderAs:e,transitions:t});return r&&(s=r(s)),s}trigger(e,t){const r=this.observersStore.getState();for(let s=0;s<r.length;s++)r[s].trigger(e,t)}};b.propTypes={dir:r.string,renderAs:r.oneOf(["svg","canvas"])},b.defaultProps={renderAs:"svg"};let y=b;s.registerForIntl(y);const C=class extends l.Component{constructor(e,t){super(e,t),this.state={arcCenterStyles:null,arcCenterValue:{value:0,color:""}},this._element=null,this.gaugeObserver=new n.InstanceObserver(this,{render:"onRender"}),t.observersStore.dispatch({type:"add",payload:this.gaugeObserver})}render(){const{render:e}=this.props,{arcCenterStyles:t,arcCenterValue:r}=this.state,s=t||{zIndex:-1};let n=null;return e&&(n=l.createElement("div",{className:"k-arcgauge-label",ref:e=>this._element=e,style:s},e(r.value,r.color))),n}onRender(e){if(!this._element)return;const t=e.sender.gaugeInstance,r=this._element.offsetWidth,s=this._element.offsetHeight,n=t.centerLabelPosition(r,s);this.setState({arcCenterStyles:{left:n.left,top:n.top},arcCenterValue:{value:t.value(),color:t.currentColor()}})}};C.contextType=v;let I=C;class O extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.gaugeType=n.ArcGauge,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{value:t,color:r,colors:s,opacity:n,scale:a}=this.props;return Object.assign({},e,{value:t,color:r,colors:s,opacity:n,scale:a})}}get gaugeInstance(){return this._baseGauge?this._baseGauge.gaugeInstance:null}get surface(){return this._baseGauge?this._baseGauge.surface:null}get element(){return this._baseGauge?this._baseGauge.element:null}render(){const{children:e,arcCenterRender:t,centerRender:r,className:s,...n}=this.props;return l.createElement(y,{...n,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:e=>this._baseGauge=e,gaugeConstructor:this.gaugeType,getTarget:this.getTarget,className:a.classNames("k-gauge k-arcgauge",s)},e,l.createElement(I,{render:r||t}))}exportVisual(e){return null!==this.gaugeInstance&&this.element?i.drawDOM(this.element,e):Promise.resolve(new i.Group)}}let G=class extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:r}=this.props;return Object.assign({},e,{pointer:t,scale:r})}}get gaugeInstance(){return null!==this._baseGauge?this._baseGauge.gaugeInstance:null}get surface(){return null!==this._baseGauge?this._baseGauge.surface:null}get element(){return null!==this._baseGauge?this._baseGauge.element:null}render(){const{children:e,className:t,...r}=this.props;return l.createElement(y,{...r,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:e=>this._baseGauge=e,gaugeConstructor:n.LinearGauge,getTarget:this.getTarget,className:a.classNames("k-gauge",t)},e)}exportVisual(e){return null!==this.gaugeInstance?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new i.Group)}};class _ extends l.Component{constructor(){super(...arguments),this._baseGauge=null,this.getTarget=()=>this,this.deriveOptionsFromParent=e=>{const{pointer:t,scale:r}=this.props;return Object.assign({},e,{pointer:t,scale:r})}}get gaugeInstance(){return null!==this._baseGauge?this._baseGauge.gaugeInstance:null}get surface(){return null!==this._baseGauge?this._baseGauge.surface:null}get element(){return null!==this._baseGauge?this._baseGauge.element:null}render(){const{children:e,className:t,...r}=this.props;return l.createElement(y,{...r,deriveOptionsFromParent:this.deriveOptionsFromParent,ref:e=>this._baseGauge=e,gaugeConstructor:n.RadialGauge,getTarget:this.getTarget,className:a.classNames("k-gauge",t)},e)}exportVisual(e){return null!==this.gaugeInstance?Promise.resolve(this.gaugeInstance.exportVisual(e)):Promise.resolve(new i.Group)}}e.ArcGauge=O,e.CircularGauge=class extends O{constructor(){super(...arguments),this.gaugeType=n.CircularGauge}},e.LinearGauge=G,e.RadialGauge=_}));
|