aboutsummaryrefslogtreecommitdiff
path: root/src/client/northstar/model/ModelExtensions.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-03-21 21:36:52 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-03-21 21:36:52 -0400
commitce4e7a03e82c71bd5c979b19308f4dba03be08a2 (patch)
tree3f1eb320790bd66cc128c8899c5ee9ed170d3382 /src/client/northstar/model/ModelExtensions.ts
parent27299e9666ec0aae6a4d1335fd30b2714ad67970 (diff)
parent1cf618563838f4ce7d8a98c8a0c8d94670bc4e18 (diff)
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web into promises_and_user_document
Diffstat (limited to 'src/client/northstar/model/ModelExtensions.ts')
-rw-r--r--src/client/northstar/model/ModelExtensions.ts48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/client/northstar/model/ModelExtensions.ts b/src/client/northstar/model/ModelExtensions.ts
new file mode 100644
index 000000000..9fcba7f1c
--- /dev/null
+++ b/src/client/northstar/model/ModelExtensions.ts
@@ -0,0 +1,48 @@
+import { AttributeParameters, Brush, MarginAggregateParameters, SingleDimensionAggregateParameters, Solution } from '../model/idea/idea'
+import { Utils } from '../utils/Utils'
+
+import { FilterModel } from '../core/filter/FilterModel'
+
+(SingleDimensionAggregateParameters as any).prototype["Equals"] = function (other: Object) {
+ if (!Utils.EqualityHelper(this, other)) return false;
+ if (!Utils.EqualityHelper((this as SingleDimensionAggregateParameters).attributeParameters!,
+ (other as SingleDimensionAggregateParameters).attributeParameters!)) return false;
+ if (!((this as SingleDimensionAggregateParameters).attributeParameters! as any)["Equals"]((other as SingleDimensionAggregateParameters).attributeParameters)) return false;
+ return true;
+}
+
+{
+ (AttributeParameters as any).prototype["Equals"] = function (other: AttributeParameters) {
+ return (<any>this).constructor.name === (<any>other).constructor.name &&
+ this.rawName === other.rawName;
+ }
+}
+
+{
+ (Solution as any).prototype["Equals"] = function (other: Object) {
+ if (!Utils.EqualityHelper(this, other)) return false;
+ if ((this as Solution).solutionId !== (other as Solution).solutionId) return false;
+ return true;
+ }
+}
+
+{
+ (MarginAggregateParameters as any).prototype["Equals"] = function (other: Object) {
+ if (!Utils.EqualityHelper(this, other)) return false;
+ if (!Utils.EqualityHelper((this as SingleDimensionAggregateParameters).attributeParameters!,
+ (other as SingleDimensionAggregateParameters).attributeParameters!)) return false;
+ if (!((this as SingleDimensionAggregateParameters).attributeParameters! as any)["Equals"]((other as SingleDimensionAggregateParameters).attributeParameters!)) return false;
+
+ if ((this as MarginAggregateParameters).aggregateFunction !== (other as MarginAggregateParameters).aggregateFunction) return false;
+ return true;
+ }
+}
+
+{
+ (Brush as any).prototype["Equals"] = function (other: Object) {
+ if (!Utils.EqualityHelper(this, other)) return false;
+ if ((this as Brush).brushEnum !== (other as Brush).brushEnum) return false;
+ if ((this as Brush).brushIndex !== (other as Brush).brushIndex) return false;
+ return true;
+ }
+} \ No newline at end of file