pict 1.0.376 → 1.0.377
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/dist/pict.js +14 -17
- package/dist/pict.js.map +1 -1
- package/dist/pict.min.js +2 -2
- package/dist/pict.min.js.map +1 -1
- package/package.json +1 -1
- package/source/filters/Filter.js +16 -31
package/dist/pict.js
CHANGED
|
@@ -6105,7 +6105,7 @@ try{if(!global.localStorage)return false;}catch(_){return false;}var val=global.
|
|
|
6105
6105
|
// presumably different callback function.
|
|
6106
6106
|
// This makes sure that own properties are retained, so that
|
|
6107
6107
|
// decorations and such are not lost along the way.
|
|
6108
|
-
module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!=='function')throw new TypeError('need wrapper function');Object.keys(fn).forEach(function(k){wrapper[k]=fn[k];});return wrapper;function wrapper(){var args=new Array(arguments.length);for(var i=0;i<args.length;i++){args[i]=arguments[i];}var ret=fn.apply(this,args);var cb=args[args.length-1];if(typeof ret==='function'&&ret!==cb){Object.keys(cb).forEach(function(k){ret[k]=cb[k];});}return ret;}}},{}],191:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;}},{}],192:[function(require,module,exports){module.exports={"name":"pict","version":"1.0.
|
|
6108
|
+
module.exports=wrappy;function wrappy(fn,cb){if(fn&&cb)return wrappy(fn)(cb);if(typeof fn!=='function')throw new TypeError('need wrapper function');Object.keys(fn).forEach(function(k){wrapper[k]=fn[k];});return wrapper;function wrapper(){var args=new Array(arguments.length);for(var i=0;i<args.length;i++){args[i]=arguments[i];}var ret=fn.apply(this,args);var cb=args[args.length-1];if(typeof ret==='function'&&ret!==cb){Object.keys(cb).forEach(function(k){ret[k]=cb[k];});}return ret;}}},{}],191:[function(require,module,exports){module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty;function extend(){var target={};for(var i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;}},{}],192:[function(require,module,exports){module.exports={"name":"pict","version":"1.0.377","description":"Pict browser library.","main":"source/Pict.js","scripts":{"start":"node source/Pict.js","test":"npx quack test","tests":"npx quack test -g","coverage":"npx quack coverage","build":"npx quack build","prepublishOnly":"npx quack build","docker-dev-build":"docker build ./ -f Dockerfile_LUXURYCode -t pict-image:local","docker-dev-run":"docker run -it -d --name pict-dev -p 37447:8080 -p 19506:8086 -v \"$PWD/.config:/home/coder/.config\" -v \"$PWD:/home/coder/pict\" -u \"$(id -u):$(id -g)\" -e \"DOCKER_USER=$USER\" pict-image:local","docker-dev-shell":"docker exec -it pict-dev /bin/bash","lint":"eslint source/**/*.js test/**/*.js","types":"tsc -p ."},"files":["source/","dist/","types/"],"types":"types/source/Pict.d.ts","mocha":{"diff":true,"extension":["js"],"package":"./package.json","reporter":"spec","slow":"75","timeout":"5000","ui":"tdd","watch-files":["source/**/*.js","test/**/*.js"],"watch-ignore":["lib/vendor"]},"repository":{"type":"git","url":"git+https://stevenvelozo@github.com/stevenvelozo/pict.git"},"author":"steven velozo <steven@velozo.com>","license":"MIT","bugs":{"url":"https://github.com/fable-retold/pict/issues"},"homepage":"https://github.com/fable-retold/pict#readme","devDependencies":{"@eslint/js":"^9.39.1","@types/jquery":"^3.5.33","@types/sinon":"^17.0.4","eslint":"^9.39.1","globals":"^16.5.0","pict-docuserve":"^1.4.19","quackage":"^1.3.0","sinon":"^20.0.0","typescript":"^5.9.3"},"dependencies":{"cachetrax":"^1.0.6","fable":"^3.1.75","pict-application":"^1.0.34","pict-provider":"^1.0.13","pict-template":"^1.0.15","pict-view":"^1.0.68"}};},{}],193:[function(require,module,exports){// This assumes Pict has been required in the browser. Delcare these as globals so linter can do its job.
|
|
6109
6109
|
/* global Pict, _Pict: writeable *//**
|
|
6110
6110
|
* Simple function to load a pict Application
|
|
6111
6111
|
*
|
|
@@ -7230,12 +7230,11 @@ case'ExternalJoinMatch':case'ExternalJoinStringMatch':case'ExternalJoinDateMatch
|
|
|
7230
7230
|
*/if(!tmpFilterByColumns){tmpFilterByColumns=tmpFilterConfig.ExternalFilterByColumns||(tmpFilterConfig.ExternalFilterByColumn?[tmpFilterConfig.ExternalFilterByColumn]:['Name']);}for(const tmpField of tmpFilterByColumns){for(const tmpValue of tmpValuesArray){const tmpFilter={Index:-1,Entity:tmpFilterConfig.ExternalFilterByTable,Instruction:'FBVOR',Field:tmpField};if(tmpFilterConfig.ExactMatch||typeof tmpFilterConfig.ExactMatch==='undefined'&&(tmpFilterConfig.Type=='ExternalJoinNumericMatch'||tmpFilterConfig.Type=='ExternalJoinDateMatch'||tmpFilterConfig.Type=='ExternalJoinSelectedValue'||tmpFilterConfig.Type=='ExternalJoinSelectedValueList')){//TODO: optimize this to use in-list, but requires restructuring of this code
|
|
7231
7231
|
tmpFilter.Operator='EQ';tmpFilter.Value=tmpValue;}else{tmpFilter.Operator='LK';tmpFilter.Value=`%25${tmpValue}%25`;//FIXME: point of URI encoding needs to be addressed
|
|
7232
7232
|
}tmpFilterResult.Filters.push(tmpFilter);}}if(!tmpFilterConfig.JoinTable){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTable, cannot filter join table.`,{FilterConfig:tmpFilterConfig});break;}if(!tmpFilterConfig.JoinTableExternalConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTableExternalConnectionColumn, cannot filter join table [${tmpFilterConfig.JoinTable}].`);break;}if(tmpFilterResult.Filters.length>0){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBL',Field:tmpFilterConfig.JoinTableExternalConnectionColumn,Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.ExternalFilterByTableConnectionColumn||tmpFilterConfig.JoinTableExternalConnectionColumn}^Record.State[Step-1]~}`});if(tmpFilterConfig.PolyJoinRemoteType){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBV',Field:tmpFilterConfig.PolyJoinRemoteColumn||'RemoteType',Operator:'EQ',ValueTemplate:tmpFilterConfig.PolyJoinRemoteType});}if(!tmpFilterConfig.CoreConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing CoreConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}tmpFilterResult.JoinConfig={CoreEntity:pFilterState.Entity,Instruction:'FBLOR',Fields:[tmpFilterConfig.CoreConnectionColumn],Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.JoinTableCoreConnectionColumn}^Record.State[Step0]~}`};}break;case'ExternalJoinStringRange':case'ExternalJoinNumericRange':case'ExternalJoinDateRange':case'ExternalJoinRange':if(!tmpFilterConfig.Values||tmpFilterConfig.Values.Start==null&&tmpFilterConfig.Values.End==null){break;}// do not honor '0' for dates
|
|
7233
|
-
if(tmpFilterConfig.Type=='ExternalJoinDateRange'){if((!tmpFilterConfig.Values.Start||tmpFilterConfig.Values.Start=='0')&&(!tmpFilterConfig.Values.End||tmpFilterConfig.Values.End=='0')){break;}}for(const tmpField of tmpFilterConfig.ExternalFilterByColumns||(tmpFilterConfig.ExternalFilterByColumn?[tmpFilterConfig.ExternalFilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='ExternalJoinDateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='ExternalJoinDateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){//
|
|
7234
|
-
//
|
|
7235
|
-
//
|
|
7236
|
-
//
|
|
7237
|
-
|
|
7238
|
-
tmpFilterResult.Filters.push({Index:-1,Entity:tmpFilterConfig.ExternalFilterByTable,Instruction:'FBV',OpenParen:true,OpenParenOr:false,CloseParen:!hasEndValue,Field:tmpField,Operator:tmpFilterConfig.StartExclusive?'GT':'GE',Value:tmpFilterConfig.Values.Start});}if(hasEndValue){tmpFilterResult.Filters.push({Index:-1,Entity:tmpFilterConfig.ExternalFilterByTable,Instruction:'FBV',OpenParen:!hasStartValue,OpenParenOr:false,CloseParen:true,Field:tmpField,Operator:tmpFilterConfig.EndExclusive?'LT':'LE',Value:tmpFilterConfig.Values.End});}}if(!tmpFilterConfig.JoinTable){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTable, cannot filter join table.`,{FilterConfig:tmpFilterConfig});break;}if(!tmpFilterConfig.JoinTableExternalConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTableExternalConnectionColumn, cannot filter join table [${tmpFilterConfig.JoinTable}].`);break;}if(tmpFilterResult.Filters.length>0){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBL',Field:tmpFilterConfig.JoinTableExternalConnectionColumn,Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.ExternalFilterByTableConnectionColumn||tmpFilterConfig.JoinTableExternalConnectionColumn}^Record.State[Step-1]~}`});if(tmpFilterConfig.PolyJoinRemoteType){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBV',Field:tmpFilterConfig.PolyJoinRemoteColumn||'RemoteType',Operator:'EQ',ValueTemplate:tmpFilterConfig.PolyJoinRemoteType});}if(!tmpFilterConfig.CoreConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing CoreConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}if(!tmpFilterConfig.JoinTableCoreConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTableCoreConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}tmpFilterResult.JoinConfig={CoreEntity:pFilterState.Entity,Instruction:'FBLOR',Fields:[tmpFilterConfig.CoreConnectionColumn],Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.JoinTableCoreConnectionColumn}^Record.State[Step0]~}`};}break;case'StringRange':case'DateRange':case'NumericRange':case'Range':if(!tmpFilterConfig.Values||tmpFilterConfig.Values.Start==null&&tmpFilterConfig.Values.End==null){break;}// do not honor '0' for dates
|
|
7233
|
+
if(tmpFilterConfig.Type=='ExternalJoinDateRange'){if((!tmpFilterConfig.Values.Start||tmpFilterConfig.Values.Start=='0')&&(!tmpFilterConfig.Values.End||tmpFilterConfig.Values.End=='0')){break;}}for(const tmpField of tmpFilterConfig.ExternalFilterByColumns||(tmpFilterConfig.ExternalFilterByColumn?[tmpFilterConfig.ExternalFilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='ExternalJoinDateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='ExternalJoinDateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){// Range is `(Start <= field <= End)` — both bounds AND'd; per-
|
|
7234
|
+
// group serializer wraps the stanzas in a single paren group,
|
|
7235
|
+
// so no OpenParen needed here. See the matching note in the
|
|
7236
|
+
// core Range case below.
|
|
7237
|
+
tmpFilterResult.Filters.push({Index:-1,Entity:tmpFilterConfig.ExternalFilterByTable,Instruction:'FBV',CloseParen:false,Field:tmpField,Operator:tmpFilterConfig.StartExclusive?'GT':'GE',Value:tmpFilterConfig.Values.Start});}if(hasEndValue){tmpFilterResult.Filters.push({Index:-1,Entity:tmpFilterConfig.ExternalFilterByTable,Instruction:'FBV',CloseParen:false,Field:tmpField,Operator:tmpFilterConfig.EndExclusive?'LT':'LE',Value:tmpFilterConfig.Values.End});}}if(!tmpFilterConfig.JoinTable){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTable, cannot filter join table.`,{FilterConfig:tmpFilterConfig});break;}if(!tmpFilterConfig.JoinTableExternalConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTableExternalConnectionColumn, cannot filter join table [${tmpFilterConfig.JoinTable}].`);break;}if(tmpFilterResult.Filters.length>0){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBL',Field:tmpFilterConfig.JoinTableExternalConnectionColumn,Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.ExternalFilterByTableConnectionColumn||tmpFilterConfig.JoinTableExternalConnectionColumn}^Record.State[Step-1]~}`});if(tmpFilterConfig.PolyJoinRemoteType){tmpFilterResult.Filters.push({Index:0,Fulcrum:true,Entity:tmpFilterConfig.JoinTable,Instruction:'FBV',Field:tmpFilterConfig.PolyJoinRemoteColumn||'RemoteType',Operator:'EQ',ValueTemplate:tmpFilterConfig.PolyJoinRemoteType});}if(!tmpFilterConfig.CoreConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing CoreConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}if(!tmpFilterConfig.JoinTableCoreConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinTableCoreConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}tmpFilterResult.JoinConfig={CoreEntity:pFilterState.Entity,Instruction:'FBLOR',Fields:[tmpFilterConfig.CoreConnectionColumn],Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.JoinTableCoreConnectionColumn}^Record.State[Step0]~}`};}break;case'StringRange':case'DateRange':case'NumericRange':case'Range':if(!tmpFilterConfig.Values||tmpFilterConfig.Values.Start==null&&tmpFilterConfig.Values.End==null){break;}// do not honor '0' for dates
|
|
7239
7238
|
if(tmpFilterConfig.Type=='DateRange'){if((!tmpFilterConfig.Values.Start||tmpFilterConfig.Values.Start=='0')&&(!tmpFilterConfig.Values.End||tmpFilterConfig.Values.End=='0')){break;}}/*
|
|
7240
7239
|
"Values":
|
|
7241
7240
|
{
|
|
@@ -7243,22 +7242,20 @@ if(tmpFilterConfig.Type=='DateRange'){if((!tmpFilterConfig.Values.Start||tmpFilt
|
|
|
7243
7242
|
"End": "2024-01-01T00:00:00Z"
|
|
7244
7243
|
},
|
|
7245
7244
|
"FilterByColumn": "CreateDate",
|
|
7246
|
-
*/for(const tmpField of tmpFilterConfig.FilterByColumns||(tmpFilterConfig.FilterByColumn?[tmpFilterConfig.FilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='DateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='DateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){//
|
|
7247
|
-
//
|
|
7248
|
-
//
|
|
7249
|
-
//
|
|
7250
|
-
//
|
|
7251
|
-
tmpFilterResult.Filters.push({Index:0,CoreEntity:true,Entity:pFilterState.Entity,Instruction:'FBV',Field:tmpField,
|
|
7245
|
+
*/for(const tmpField of tmpFilterConfig.FilterByColumns||(tmpFilterConfig.FilterByColumn?[tmpFilterConfig.FilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='DateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='DateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){// Range is `(Start <= field <= End)` — both bounds AND'd. No
|
|
7246
|
+
// OpenParen here; the per-group serializer already wraps the
|
|
7247
|
+
// stanzas in one paren group, and meadow-endpoints' filter
|
|
7248
|
+
// parser rejects further nesting (`FOP(FOP(...))` 404s on the
|
|
7249
|
+
// /1.0/PrivateDataLake/* routes).
|
|
7250
|
+
tmpFilterResult.Filters.push({Index:0,CoreEntity:true,Entity:pFilterState.Entity,Instruction:'FBV',Field:tmpField,CloseParen:false,Operator:tmpFilterConfig.StartExclusive?'GT':'GE',Value:tmpFilterConfig.Values.Start});}if(hasEndValue){tmpFilterResult.Filters.push({Index:0,CoreEntity:true,Entity:pFilterState.Entity,Instruction:'FBV',CloseParen:false,Field:tmpField,Operator:tmpFilterConfig.EndExclusive?'LT':'LE',Value:tmpFilterConfig.Values.End});}}break;case'StringMatch':case'DateMatch':case'NumericMatch':case'Match':/*
|
|
7252
7251
|
"Values": [ "John", "Jane" ],
|
|
7253
7252
|
"FilterByColumn": "Name",
|
|
7254
7253
|
"ExactMatch": false,
|
|
7255
7254
|
*/for(const tmpField of tmpFilterConfig.FilterByColumns||(tmpFilterConfig.FilterByColumn?[tmpFilterConfig.FilterByColumn]:['Name'])){for(const tmpValue of tmpValuesArray){const tmpFilter={Index:0,CoreEntity:true,Entity:pFilterState.Entity,Instruction:'FBVOR',Field:tmpField};// don't use like for numbers
|
|
7256
7255
|
if(tmpFilterConfig.ExactMatch||typeof tmpFilterConfig.ExactMatch==='undefined'&&(tmpFilterConfig.Type=='NumericMatch'||tmpFilterConfig.Type=='DateMatch')){tmpFilter.Operator='EQ';tmpFilter.Value=tmpValue;}else{tmpFilter.Operator='LK';tmpFilter.Value=`%25${tmpValue}%25`;//FIXME: figure out a cleaner way to do URL encoding for these - probably, should be downstream, but isn't currently
|
|
7257
7256
|
}tmpFilterResult.Filters.push(tmpFilter);}}break;case'InternalJoinStringRange':case'InternalJoinNumericRange':case'InternalJoinDateRange':case'InternalJoinRange':if(!tmpFilterConfig.Values||tmpFilterConfig.Values.Start==null&&tmpFilterConfig.Values.End==null){break;}// do not honor '0' for dates
|
|
7258
|
-
if(tmpFilterConfig.Type=='InternalJoinDateRange'){if((!tmpFilterConfig.Values.Start||tmpFilterConfig.Values.Start=='0')&&(!tmpFilterConfig.Values.End||tmpFilterConfig.Values.End=='0')){break;}}for(const tmpField of tmpFilterConfig.ExternalFilterByColumns||(tmpFilterConfig.ExternalFilterByColumn?[tmpFilterConfig.ExternalFilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='InternalJoinDateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='InternalJoinDateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){//
|
|
7259
|
-
|
|
7260
|
-
// group.
|
|
7261
|
-
tmpFilterResult.Filters.push({Index:0,Entity:tmpFilterConfig.RemoteTable,Instruction:'FBV',Field:tmpField,OpenParen:true,OpenParenOr:false,CloseParen:!hasEndValue,Operator:tmpFilterConfig.StartExclusive?'GT':'GE',Value:tmpFilterConfig.Values.Start});}if(hasEndValue){tmpFilterResult.Filters.push({Index:0,Entity:tmpFilterConfig.RemoteTable,Instruction:'FBV',OpenParen:!hasStartValue,OpenParenOr:false,CloseParen:true,Field:tmpField,Operator:tmpFilterConfig.EndExclusive?'LT':'LE',Value:tmpFilterConfig.Values.End});}}if(tmpFilterResult.Filters.length>0){if(!tmpFilterConfig.JoinInternalConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinInternalConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}tmpFilterResult.JoinConfig={Instruction:'FBLOR',CoreEntity:pFilterState.Entity,Fields:[tmpFilterConfig.JoinInternalConnectionColumn],Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.JoinExternalConnectionColumn}^Record.State[Step0]~}`};}break;case'InternalJoinSelectedValue':case'InternalJoinSelectedValueList':tmpFilterByColumns=[tmpFilterConfig.ExternalFilterTableLookupColumn||`ID${tmpFilterConfig.RemoteTable}`];// fall through
|
|
7257
|
+
if(tmpFilterConfig.Type=='InternalJoinDateRange'){if((!tmpFilterConfig.Values.Start||tmpFilterConfig.Values.Start=='0')&&(!tmpFilterConfig.Values.End||tmpFilterConfig.Values.End=='0')){break;}}for(const tmpField of tmpFilterConfig.ExternalFilterByColumns||(tmpFilterConfig.ExternalFilterByColumn?[tmpFilterConfig.ExternalFilterByColumn]:['Name'])){const hasStartValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.Start&&(tmpFilterConfig.Type!='InternalJoinDateRange'||tmpFilterConfig.Values.Start!='0');const hasEndValue=tmpFilterConfig.Values&&tmpFilterConfig.Values.End&&(tmpFilterConfig.Type!='InternalJoinDateRange'||tmpFilterConfig.Values.End!='0');if(hasStartValue){// Range bounds AND'd within the per-group paren wrap.
|
|
7258
|
+
tmpFilterResult.Filters.push({Index:0,Entity:tmpFilterConfig.RemoteTable,Instruction:'FBV',Field:tmpField,CloseParen:false,Operator:tmpFilterConfig.StartExclusive?'GT':'GE',Value:tmpFilterConfig.Values.Start});}if(hasEndValue){tmpFilterResult.Filters.push({Index:0,Entity:tmpFilterConfig.RemoteTable,Instruction:'FBV',CloseParen:false,Field:tmpField,Operator:tmpFilterConfig.EndExclusive?'LT':'LE',Value:tmpFilterConfig.Values.End});}}if(tmpFilterResult.Filters.length>0){if(!tmpFilterConfig.JoinInternalConnectionColumn){this.log.error(`${tmpFilterConfig.Type} filter missing JoinInternalConnectionColumn, cannot filter core table [${pFilterState.Entity}].`);break;}tmpFilterResult.JoinConfig={Instruction:'FBLOR',CoreEntity:pFilterState.Entity,Fields:[tmpFilterConfig.JoinInternalConnectionColumn],Operator:'INN',ValueTemplate:`{~PJU:,^${tmpFilterConfig.JoinExternalConnectionColumn}^Record.State[Step0]~}`};}break;case'InternalJoinSelectedValue':case'InternalJoinSelectedValueList':tmpFilterByColumns=[tmpFilterConfig.ExternalFilterTableLookupColumn||`ID${tmpFilterConfig.RemoteTable}`];// fall through
|
|
7262
7259
|
case'InternalJoinMatch':case'InternalJoinStringMatch':case'InternalJoinDateMatch':case'InternalJoinNumericMatch':/*
|
|
7263
7260
|
"Values": [ "Bob" ],
|
|
7264
7261
|
"RemoteTable": "User",
|