diff --git a/client/galaxy/scripts/mvc/workflow/workflow-terminals.js b/client/galaxy/scripts/mvc/workflow/workflow-terminals.js index cd6170e4e4b..8b244b6fa41 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-terminals.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-terminals.js @@ -428,9 +428,11 @@ define(['mvc/workflow/workflow-globals'], function( Globals ) { if( ! canMatch ) { for( var collectionTypeIndex in collectionTypes ) { var collectionType = collectionTypes[collectionTypeIndex]; - var effectiveMapOver = otherCollectionType.effectiveMapOver( collectionType ); - if( effectiveMapOver != NULL_COLLECTION_TYPE_DESCRIPTION ) { - return effectiveMapOver; + if( otherCollectionType.canMapOver( collectionType ) ) { + var effectiveMapOver = otherCollectionType.effectiveMapOver( collectionType ); + if( effectiveMapOver != NULL_COLLECTION_TYPE_DESCRIPTION ) { + return effectiveMapOver; + } } } } diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py index c06492f3d11..16ac5a2c385 100755 --- a/lib/galaxy/tools/__init__.py +++ b/lib/galaxy/tools/__init__.py @@ -114,12 +114,13 @@ GALAXY_LIB_TOOLS_UNVERSIONED = [ "GeneBed_Maf_Fasta2", "maf_stats1", "Interval2Maf1", + "Interval2Maf_pairwise1", "MAF_To_Interval1", "MAF_filter", "MAF_To_Fasta1", "MAF_Reverse_Complement_1", "MAF_split_blocks_by_species1", - "maf_limit_size1", + "MAF_Limit_To_Species1", "maf_by_block_number1", "wiggle2simple1", # Converters diff --git a/static/maps/mvc/workflow/workflow-terminals.js.map b/static/maps/mvc/workflow/workflow-terminals.js.map index ec9bada9141..f228a1d1e6a 100644 --- a/static/maps/mvc/workflow/workflow-terminals.js.map +++ b/static/maps/mvc/workflow/workflow-terminals.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-terminals.js","sources":["../../../src/mvc/workflow/workflow-terminals.js"],"names":["define","Globals","CollectionTypeDescription","collectionType","this","isCollection","rank","split","length","$","extend","prototype","append","otherCollectionTypeDescription","NULL_COLLECTION_TYPE_DESCRIPTION","ANY_COLLECTION_TYPE_DESCRIPTION","otherCollectionType","canMatch","canMapOver","requiredSuffix","_endsWith","effectiveMapOver","effectiveCollectionType","substring","equal","toString","str","suffix","indexOf","other","TerminalMapping","Backbone","Model","initialize","attr","mapOver","terminal","terminalMapping","disableMapOver","setMapOver","collectionTypeDescription","trigger","Terminal","element","connectors","connect","connector","push","node","markChanged","disconnect","splice","inArray","resetMappingIfNeeded","redraw","each","_","c","destroy","slice","destroyInvalidConnections","destroyIfInvalid","val","multiple","output_terminals","outputTerminal","isMappedOver","resetMapping","OutputTerminal","call","datatypes","hasConnectedOutputTerminals","hasConnectedMappedInputTerminals","mappedInputTerminals","mappedInput","noMappedInputs","hasMappedOverInputTerminals","connectedInput","handle2","BaseInputTerminal","update","input","canAccept","_inputFilled","attachable","reset","connected","inputFilled","_collectionAttached","inputsFilled","firstOutput","handle1","_mappingConstraints","constraints","first","values","connectedMappedInputTerminals","inputTerminal","_producesAcceptableDatatype","t","thisDatatype","cat_outputs","Array","concat","post_job_actions","pja_i","pja","action_type","output_name","name","action_arguments","other_datatype_i","other_datatype","app","isSubType","_otherCollectionType","otherMapOver","InputTerminal","extensions","collection","other_output","thisMapOver","mappingConstraints","every","bind","InputCollectionTerminal","collectionTypes","collection_types","_effectiveMapOver","some","collectionTypeIndex","_effectiveCollectionTypes","map","effectiveCollectionTypes","OutputCollectionTerminal","collection_type","output","newCollectionType"],"mappings":"AAAAA,QAAQ,iCAAkC,SAAUC,GAChD,QAASC,GAA2BC,GAChCC,KAAKD,eAAiBA,EACtBC,KAAKC,cAAe,EACpBD,KAAKE,KAAOH,EAAeI,MAAM,KAAKC,OAE1CC,EAAEC,OAAQR,EAA0BS,WAChCC,OAAQ,SAAUC,GACd,MAAIA,KAAmCC,iCAC5BV,KAEPS,IAAmCE,gCAC5BC,oBAEJ,GAAId,GAA2BE,KAAKD,eAAiB,IAAMU,EAA+BV,iBAErGc,SAAU,SAAUJ,GAChB,MAAIA,KAAmCC,kCAC5B,EAEPD,IAAmCE,iCAC5B,EAEJF,EAA+BV,gBAAkBC,KAAKD,gBAEjEe,WAAY,SAAUL,GAClB,GAAIA,IAAmCC,iCACnC,OAAO,CAEX,IAAID,IAAmCE,gCACnC,OAAO,CAEX,IAAIX,KAAKE,MAAQO,EAA+BP,KAE5C,OAAO,CAEX,IAAIa,GAAiBN,EAA+BV,cACpD,OAAOC,MAAKgB,UAAWhB,KAAKD,eAAgBgB,IAEhDE,iBAAkB,SAAUR,GACxB,GAAIG,GAAsBH,EAA+BV,eACrDmB,EAA0BlB,KAAKD,eAAeoB,UAAW,EAAGnB,KAAKD,eAAeK,OAASQ,EAAoBR,OAAS,EAC1H,OAAO,IAAIN,GAA2BoB,IAE1CE,MAAO,SAAUX,GACb,MAAOA,GAA+BV,gBAAkBC,KAAKD,gBAEjEsB,SAAU,WACN,MAAO,kBAAoBrB,KAAKD,eAAiB,KAErDiB,UAAW,SAAUM,EAAKC,GACtB,MAA2D,KAApDD,EAAIE,QAAQD,EAAQD,EAAIlB,OAASmB,EAAOnB,WAIvDM,kCACIT,cAAc,EACdY,SAAU,WAAoB,OAAO,GACrCC,WAAY,WACR,OAAO,GAEXO,SAAU,WACN,MAAO,wBAEXb,OAAQ,SAAUI,GACd,MAAOA,IAEXQ,MAAO,SAAUK,GACb,MAAOA,KAAUzB,OAIzBW,iCACIV,cAAc,EACdY,SAAU,SAAUY,GAAU,MAAOf,oCAAqCe,GAC1EX,WAAY,WACR,OAAO,GAEXO,SAAU,WACN,MAAO,uBAEXb,OAAQ,WACJ,KAAM,oDAEVY,MAAO,SAAUK,GACb,MAAOA,KAAUzB,MAIzB,IAAI0B,GAAkBC,SAASC,MAAMtB,QACjCuB,WAAY,SAAUC,GAClB9B,KAAK+B,QAAUD,EAAKC,SAAWrB,iCAC/BV,KAAKgC,SAAWF,EAAKE,SACrBhC,KAAKgC,SAASC,gBAAkBjC,MAEpCkC,eAAgB,WACZlC,KAAKmC,WAAYzB,mCAErByB,WAAY,SAAUC,GAGlBpC,KAAK+B,QAAUK,EACfpC,KAAKqC,QAAQ,aAIjBC,EAAWX,SAASC,MAAMtB,QAC1BuB,WAAY,SAAUC,GAClB9B,KAAKuC,QAAUT,EAAKS,QACpBvC,KAAKwC,eAETC,QAAS,SAAWC,GAChB1C,KAAKwC,WAAWG,KAAMD,GACjB1C,KAAK4C,MACN5C,KAAK4C,KAAKC,eAGlBC,WAAY,SAAWJ,GACnB1C,KAAKwC,WAAWO,OAAQ1C,EAAE2C,QAASN,EAAW1C,KAAKwC,YAAc,GAC5DxC,KAAK4C,OACN5C,KAAK4C,KAAKC,cACV7C,KAAKiD,yBAGbC,OAAQ,WACJ7C,EAAE8C,KAAMnD,KAAKwC,WAAY,SAAUY,EAAGC,GAClCA,EAAEH,YAGVI,QAAS,WACLjD,EAAE8C,KAAMnD,KAAKwC,WAAWe,QAAS,SAAUH,EAAGC,GAC1CA,EAAEC,aAGVE,0BAA2B,WACvBJ,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAC/BA,EAAUe,sBAGlBtB,WAAa,SAAUuB,GACf1D,KAAK2D,UAIH3D,KAAK+B,UAAUX,MAAOsC,KACxB1D,KAAKiC,gBAAgBE,WAAYuB,GACjCN,EAAED,KAAMnD,KAAK4C,KAAKgB,iBAAkB,SAAUC,GAC1CA,EAAe1B,WAAYuB,OAIvC3B,QAAS,WACL,MAAO/B,MAAKiC,gBAGDjC,KAAKiC,gBAAgBF,QAFrBrB,kCAKfoD,aAAc,WACV,MAAO9D,MAAKiC,iBAAmBjC,KAAKiC,gBAAgBF,QAAQ9B,cAEhE8D,aAAc,WACV/D,KAAKiC,gBAAgBC,kBAGzBe,qBAAsB,eAItBe,EAAiB1B,EAAShC,QAC1BuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAKkE,UAAYpC,EAAKoC,WAG1BjB,qBAAsB,WAGZjD,KAAK4C,KAAKuB,+BAAmCnE,KAAK4C,KAAKwB,oCACzDhB,EAAED,KAAMnD,KAAK4C,KAAKyB,uBAAwB,SAAUC,GAChDA,EAAYrB,wBAIpB,IAAIsB,IAAmBvE,KAAK4C,KAAK4B,6BAC7BD,IACAvE,KAAK+D,gBAIbA,aAAc,WACV/D,KAAKiC,gBAAgBC,iBACrBkB,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAC/B,GAAI+B,GAAiB/B,EAAUgC,OAC3BD,KAIAA,EAAexB,uBACfP,EAAUe,yBAOtBkB,EAAoBrC,EAAShC,QAC7BuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAK4E,OAAQ9C,EAAK+C,QAEtBC,UAAW,SAAWrD,GAClB,MAAIzB,MAAK+E,gBACE,EAEA/E,KAAKgF,WAAYvD,IAGhCwB,qBAAsB,WAClB,GAAIlB,GAAU/B,KAAK+B,SACnB,IAAMA,EAAQ9B,aAAd,CAMA,GAAIgF,GAAQjF,KAAK4C,KAAKwB,qCACFpE,KAAK4C,KAAKuB,6BAC1Bc,IACAjF,KAAK+D,iBAGbA,aAAc,WACV/D,KAAKiC,gBAAgBC,iBACflC,KAAK4C,KAAK4B,+BACZpB,EAAED,KAAMnD,KAAK4C,KAAKgB,iBAAkB,SAAU5B,GAG1CA,EAAS+B,kBAIrBmB,UAAW,WACP,MAAkC,KAA3BlF,KAAKwC,WAAWpC,QAE3B2E,aAAc,WACV,GAAII,EAgBJ,OAfMnF,MAAKkF,YAGHlF,KAAK2D,SACF3D,KAAKoF,sBAGJC,cAAe,EAEfF,GAAc,EAGlBA,GAAc,EAXlBA,GAAc,EAcXA,GAEXC,oBAAqB,WACjB,GAAMpF,KAAKkF,YAEJ,CACH,GAAII,GAActF,KAAKwC,WAAY,GAAI+C,OACvC,OAAMD,KAGEA,EAAYrF,cAAgBqF,EAAYxB,gBAAkBwB,EAAYpB,UAAU1C,QAAS,oBAAuB,IACzG,GAHJ,EAJX,OAAO,GAcfgE,oBAAqB,WAGjB,IAAMxF,KAAK4C,KACP,QAEJ,IAAIb,GAAU/B,KAAK+B,SACnB,IAAIA,EAAQ9B,aACR,OAAS8B,EAGb,IAAI0D,KASJ,OARMzF,MAAK4C,KAAKuB,8BAMZsB,EAAY9C,KAAMS,EAAEsC,MAAOtC,EAAEuC,OAAQ3F,KAAK4C,KAAKgB,mBAAqB7B,WALpEqB,EAAED,KAAMnD,KAAK4C,KAAKgD,gCAAiC,SAAUC,GACzDJ,EAAY9C,KAAMkD,EAAc9D,aAMjC0D,GAEXK,4BAA6B,SAAUrE,GAEnC,IAAM,GAAIsE,KAAK/F,MAAKkE,UAAY,CAC5B,GAAI8B,GAAehG,KAAKkE,UAAU6B,EAClC,IAAoB,SAAhBC,EACA,OAAO,CAEX,IAAIC,GAAc,GAAIC,MAEtB,IADAD,EAAcA,EAAYE,OAAO1E,EAAMyC,WACnCzC,EAAMmB,KAAKwD,iBACX,IAAK,GAAIC,KAAS5E,GAAMmB,KAAKwD,iBAAiB,CAC1C,GAAIE,GAAM7E,EAAMmB,KAAKwD,iBAAiBC,EACf,yBAAnBC,EAAIC,aAA6D,IAAnBD,EAAIE,aAAqBF,EAAIE,aAAe/E,EAAMgF,OAASH,EAAII,kBAC7GT,EAAYtD,KAAK2D,EAAII,iBAA0B,SAK3D,IAAM,GAAIC,KAAoBV,GAAc,CACxC,GAAIW,GAAiBX,EAAYU,EACjC,IAAuB,SAAlBC,GAA+C,WAAlBA,GAAiD,oBAAlBA,GAAwC/G,EAAQgH,IAAIC,UAAWb,EAAYU,GAAmBX,GAC3J,OAAO,GAInB,OAAO,GAEXe,qBAAsB,SAAUtF,GAC5B,GAAIb,GAAsBF,gCACtBe,GAAMxB,eACNW,EAAsBa,EAAM1B,eAEhC,IAAIiH,GAAevF,EAAMM,SAIzB,OAHIiF,GAAa/G,eACbW,EAAsBoG,EAAaxG,OAAOI,IAEvCA,KAIXqG,EAAgBtC,EAAkBrE,QAClCsE,OAAQ,SAAUC,GACd7E,KAAKkE,UAAYW,EAAMqC,WACvBlH,KAAK2D,SAAWkB,EAAMlB,SACtB3D,KAAKmH,YAAa,GAEtB1E,QAAS,SAAUC,GACfiC,EAAkBpE,UAAUkC,QAAQwB,KAAMjE,KAAM0C,EAChD,IAAI0E,GAAe1E,EAAU6C,OAC7B,IAAM6B,EAAN,CAGA,GAAIxG,GAAsBZ,KAAK+G,qBAAsBK,EACjDxG,GAAoBX,cACpBD,KAAKmC,WAAYvB,KAGzBoE,WAAY,SAAUvD,GAClB,GAAIb,GAAsBZ,KAAK+G,qBAAsBtF,GACjD4F,EAAcrH,KAAK+B,SACvB,IAAInB,EAAoBX,aAAe,CACnC,GAAID,KAAK2D,SACL,MAAI3D,MAAKkF,cAAiBlF,KAAKoF,uBAGpB,EAEqB,GAA5BxE,EAAoBV,KACbF,KAAK8F,4BAA6BrE,IAIlC,CAGf,IAAI4F,EAAYpH,cAAgBoH,EAAYxG,SAAUD,GAClD,MAAOZ,MAAK8F,4BAA6BrE,EAGzC,IAAI6F,GAAqBtH,KAAKwF,qBAC9B,OAAI8B,GAAmBC,MAAOnE,EAAEoE,KAAM5G,EAAoBC,SAAUD,IACzDZ,KAAK8F,4BAA6BrE,IAElC,EAGZ,MAAI4F,GAAYpH,cAGZ,EAEJD,KAAK8F,4BAA6BrE,MAI7CgG,EAA0B9C,EAAkBrE,QAC5CsE,OAAQ,SAAUC,GACd7E,KAAK2D,UAAW,EAChB3D,KAAKmH,YAAa,EAClBnH,KAAKkE,UAAYW,EAAMqC,UACvB,IAAIQ,KACA7C,GAAM8C,iBACNvE,EAAED,KAAK0B,EAAM8C,iBAAkB,SAAS5H,GACpC2H,EAAgB/E,KAAM,GAAI7C,GAA2BC,MAGzD2H,EAAgB/E,KAAKhC,iCAEzBX,KAAK0H,gBAAkBA,GAE3BjF,QAAS,SAAUC,GACfiC,EAAkBpE,UAAUkC,QAAQwB,KAAMjE,KAAM0C,EAChD,IAAIjB,GAAQiB,EAAU6C,OACtB,IAAM9D,EAAN,CAIA,GAAIR,GAAmBjB,KAAK4H,kBAAmBnG,EAC/CzB,MAAKmC,WAAYlB,KAErB2G,kBAAmB,SAAUnG,GACzB,GAAIiG,GAAkB1H,KAAK0H,gBACvB9G,EAAsBZ,KAAK+G,qBAAsBtF,GACjDZ,EAAWuC,EAAEyE,KAAKH,EAAiB,SAAU3H,GAAkB,MAAOA,GAAec,SAAUD,IAEnG,KAAMC,EACF,IAAK,GAAIiH,KAAuBJ,GAAkB,CAC9C,GAAI3H,GAAiB2H,EAAgBI,GACjC7G,EAAmBL,EAAoBK,iBAAkBlB,EAC7D,IAAIkB,GAAoBP,iCACpB,MAAOO,GAInB,MAAOP,mCAEXqH,0BAA2B,WACvB,GAAIV,GAAcrH,KAAK+B,SACvB,OAAOqB,GAAE4E,IAAIhI,KAAK0H,gBAAiB,SAAS3B,GAAK,MAAOsB,GAAY7G,OAAOuF,MAE/Ef,WAAY,SAAWvD,GACnB,GAAIb,GAAsBZ,KAAK+G,qBAAsBtF,EACrD,IAAIb,EAAoBX,aAAe,CACnC,GAAIgI,GAA2BjI,KAAK+H,4BAChCV,EAAcrH,KAAK+B,UACnBlB,EAAWuC,EAAEyE,KAAKI,EAA0B,SAAU/G,GAA2B,MAAOA,GAAwBL,SAAUD,IAC9H,IAAIC,EAEA,MAAOb,MAAK8F,4BAA6BrE,EAEtC,IAAI4F,EAAYpH,aAEnB,OAAO,CACJ,IAAImD,EAAEyE,KAAK7H,KAAK0H,gBAAiB,SAAS3H,GAAkB,MAAOa,GAAoBE,WAAYf,KAAuB,CAC7H,GAAIkB,GAAmBjB,KAAK4H,kBAAmBnG,EAC/C,KAAMR,EAAiBhB,aACnB,OAAO,CAGX,IAAIqH,GAAqBtH,KAAKwF,qBAC9B,IAAI8B,EAAmBC,MAAOtG,EAAiBJ,UAC3C,MAAOb,MAAK8F,4BAA6BrE,IAIrD,OAAO,KAIXyG,EAA2B5F,EAAShC,QACpCuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAKkE,UAAYpC,EAAKoC,UACtBlE,KAAKD,eAAiB,GAAID,GAA2BgC,EAAKqG,iBAC1DnI,KAAKC,cAAe,GAExB2E,OAAQ,SAAUwD,GACd,GAAIC,GAAoB,GAAIvI,GAA2BsI,EAAOD,gBAC1DE,GAAkBtI,gBAAkBC,KAAKD,eAAeA,gBACxDqD,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAE/BA,EAAUY,YAGlBtD,KAAKD,eAAiBsI,IAI9B,QACIpB,cAAsCA,EACtCjD,eAAsCA,EACtCyD,wBAAsCA,EACtCS,yBAAsCA,EACtCxG,gBAAsCA,EAGtC5B,0BAAsCA,EACtCY,iCAAsCA,iCACtCC,gCAAsCA"} \ No newline at end of file +{"version":3,"file":"workflow-terminals.js","sources":["../../../src/mvc/workflow/workflow-terminals.js"],"names":["define","Globals","CollectionTypeDescription","collectionType","this","isCollection","rank","split","length","$","extend","prototype","append","otherCollectionTypeDescription","NULL_COLLECTION_TYPE_DESCRIPTION","ANY_COLLECTION_TYPE_DESCRIPTION","otherCollectionType","canMatch","canMapOver","requiredSuffix","_endsWith","effectiveMapOver","effectiveCollectionType","substring","equal","toString","str","suffix","indexOf","other","TerminalMapping","Backbone","Model","initialize","attr","mapOver","terminal","terminalMapping","disableMapOver","setMapOver","collectionTypeDescription","trigger","Terminal","element","connectors","connect","connector","push","node","markChanged","disconnect","splice","inArray","resetMappingIfNeeded","redraw","each","_","c","destroy","slice","destroyInvalidConnections","destroyIfInvalid","val","multiple","output_terminals","outputTerminal","isMappedOver","resetMapping","OutputTerminal","call","datatypes","hasConnectedOutputTerminals","hasConnectedMappedInputTerminals","mappedInputTerminals","mappedInput","noMappedInputs","hasMappedOverInputTerminals","connectedInput","handle2","BaseInputTerminal","update","input","canAccept","_inputFilled","attachable","reset","connected","inputFilled","_collectionAttached","inputsFilled","firstOutput","handle1","_mappingConstraints","constraints","first","values","connectedMappedInputTerminals","inputTerminal","_producesAcceptableDatatype","t","thisDatatype","cat_outputs","Array","concat","post_job_actions","pja_i","pja","action_type","output_name","name","action_arguments","other_datatype_i","other_datatype","app","isSubType","_otherCollectionType","otherMapOver","InputTerminal","extensions","collection","other_output","thisMapOver","mappingConstraints","every","bind","InputCollectionTerminal","collectionTypes","collection_types","_effectiveMapOver","some","collectionTypeIndex","_effectiveCollectionTypes","map","effectiveCollectionTypes","OutputCollectionTerminal","collection_type","output","newCollectionType"],"mappings":"AAAAA,QAAQ,iCAAkC,SAAUC,GAChD,QAASC,GAA2BC,GAChCC,KAAKD,eAAiBA,EACtBC,KAAKC,cAAe,EACpBD,KAAKE,KAAOH,EAAeI,MAAM,KAAKC,OAE1CC,EAAEC,OAAQR,EAA0BS,WAChCC,OAAQ,SAAUC,GACd,MAAIA,KAAmCC,iCAC5BV,KAEPS,IAAmCE,gCAC5BC,oBAEJ,GAAId,GAA2BE,KAAKD,eAAiB,IAAMU,EAA+BV,iBAErGc,SAAU,SAAUJ,GAChB,MAAIA,KAAmCC,kCAC5B,EAEPD,IAAmCE,iCAC5B,EAEJF,EAA+BV,gBAAkBC,KAAKD,gBAEjEe,WAAY,SAAUL,GAClB,GAAIA,IAAmCC,iCACnC,OAAO,CAEX,IAAID,IAAmCE,gCACnC,OAAO,CAEX,IAAIX,KAAKE,MAAQO,EAA+BP,KAE5C,OAAO,CAEX,IAAIa,GAAiBN,EAA+BV,cACpD,OAAOC,MAAKgB,UAAWhB,KAAKD,eAAgBgB,IAEhDE,iBAAkB,SAAUR,GACxB,GAAIG,GAAsBH,EAA+BV,eACrDmB,EAA0BlB,KAAKD,eAAeoB,UAAW,EAAGnB,KAAKD,eAAeK,OAASQ,EAAoBR,OAAS,EAC1H,OAAO,IAAIN,GAA2BoB,IAE1CE,MAAO,SAAUX,GACb,MAAOA,GAA+BV,gBAAkBC,KAAKD,gBAEjEsB,SAAU,WACN,MAAO,kBAAoBrB,KAAKD,eAAiB,KAErDiB,UAAW,SAAUM,EAAKC,GACtB,MAA2D,KAApDD,EAAIE,QAAQD,EAAQD,EAAIlB,OAASmB,EAAOnB,WAIvDM,kCACIT,cAAc,EACdY,SAAU,WAAoB,OAAO,GACrCC,WAAY,WACR,OAAO,GAEXO,SAAU,WACN,MAAO,wBAEXb,OAAQ,SAAUI,GACd,MAAOA,IAEXQ,MAAO,SAAUK,GACb,MAAOA,KAAUzB,OAIzBW,iCACIV,cAAc,EACdY,SAAU,SAAUY,GAAU,MAAOf,oCAAqCe,GAC1EX,WAAY,WACR,OAAO,GAEXO,SAAU,WACN,MAAO,uBAEXb,OAAQ,WACJ,KAAM,oDAEVY,MAAO,SAAUK,GACb,MAAOA,KAAUzB,MAIzB,IAAI0B,GAAkBC,SAASC,MAAMtB,QACjCuB,WAAY,SAAUC,GAClB9B,KAAK+B,QAAUD,EAAKC,SAAWrB,iCAC/BV,KAAKgC,SAAWF,EAAKE,SACrBhC,KAAKgC,SAASC,gBAAkBjC,MAEpCkC,eAAgB,WACZlC,KAAKmC,WAAYzB,mCAErByB,WAAY,SAAUC,GAGlBpC,KAAK+B,QAAUK,EACfpC,KAAKqC,QAAQ,aAIjBC,EAAWX,SAASC,MAAMtB,QAC1BuB,WAAY,SAAUC,GAClB9B,KAAKuC,QAAUT,EAAKS,QACpBvC,KAAKwC,eAETC,QAAS,SAAWC,GAChB1C,KAAKwC,WAAWG,KAAMD,GACjB1C,KAAK4C,MACN5C,KAAK4C,KAAKC,eAGlBC,WAAY,SAAWJ,GACnB1C,KAAKwC,WAAWO,OAAQ1C,EAAE2C,QAASN,EAAW1C,KAAKwC,YAAc,GAC5DxC,KAAK4C,OACN5C,KAAK4C,KAAKC,cACV7C,KAAKiD,yBAGbC,OAAQ,WACJ7C,EAAE8C,KAAMnD,KAAKwC,WAAY,SAAUY,EAAGC,GAClCA,EAAEH,YAGVI,QAAS,WACLjD,EAAE8C,KAAMnD,KAAKwC,WAAWe,QAAS,SAAUH,EAAGC,GAC1CA,EAAEC,aAGVE,0BAA2B,WACvBJ,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAC/BA,EAAUe,sBAGlBtB,WAAa,SAAUuB,GACf1D,KAAK2D,UAIH3D,KAAK+B,UAAUX,MAAOsC,KACxB1D,KAAKiC,gBAAgBE,WAAYuB,GACjCN,EAAED,KAAMnD,KAAK4C,KAAKgB,iBAAkB,SAAUC,GAC1CA,EAAe1B,WAAYuB,OAIvC3B,QAAS,WACL,MAAO/B,MAAKiC,gBAGDjC,KAAKiC,gBAAgBF,QAFrBrB,kCAKfoD,aAAc,WACV,MAAO9D,MAAKiC,iBAAmBjC,KAAKiC,gBAAgBF,QAAQ9B,cAEhE8D,aAAc,WACV/D,KAAKiC,gBAAgBC,kBAGzBe,qBAAsB,eAItBe,EAAiB1B,EAAShC,QAC1BuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAKkE,UAAYpC,EAAKoC,WAG1BjB,qBAAsB,WAGZjD,KAAK4C,KAAKuB,+BAAmCnE,KAAK4C,KAAKwB,oCACzDhB,EAAED,KAAMnD,KAAK4C,KAAKyB,uBAAwB,SAAUC,GAChDA,EAAYrB,wBAIpB,IAAIsB,IAAmBvE,KAAK4C,KAAK4B,6BAC7BD,IACAvE,KAAK+D,gBAIbA,aAAc,WACV/D,KAAKiC,gBAAgBC,iBACrBkB,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAC/B,GAAI+B,GAAiB/B,EAAUgC,OAC3BD,KAIAA,EAAexB,uBACfP,EAAUe,yBAOtBkB,EAAoBrC,EAAShC,QAC7BuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAK4E,OAAQ9C,EAAK+C,QAEtBC,UAAW,SAAWrD,GAClB,MAAIzB,MAAK+E,gBACE,EAEA/E,KAAKgF,WAAYvD,IAGhCwB,qBAAsB,WAClB,GAAIlB,GAAU/B,KAAK+B,SACnB,IAAMA,EAAQ9B,aAAd,CAMA,GAAIgF,GAAQjF,KAAK4C,KAAKwB,qCACFpE,KAAK4C,KAAKuB,6BAC1Bc,IACAjF,KAAK+D,iBAGbA,aAAc,WACV/D,KAAKiC,gBAAgBC,iBACflC,KAAK4C,KAAK4B,+BACZpB,EAAED,KAAMnD,KAAK4C,KAAKgB,iBAAkB,SAAU5B,GAG1CA,EAAS+B,kBAIrBmB,UAAW,WACP,MAAkC,KAA3BlF,KAAKwC,WAAWpC,QAE3B2E,aAAc,WACV,GAAII,EAgBJ,OAfMnF,MAAKkF,YAGHlF,KAAK2D,SACF3D,KAAKoF,sBAGJC,cAAe,EAEfF,GAAc,EAGlBA,GAAc,EAXlBA,GAAc,EAcXA,GAEXC,oBAAqB,WACjB,GAAMpF,KAAKkF,YAEJ,CACH,GAAII,GAActF,KAAKwC,WAAY,GAAI+C,OACvC,OAAMD,KAGEA,EAAYrF,cAAgBqF,EAAYxB,gBAAkBwB,EAAYpB,UAAU1C,QAAS,oBAAuB,IACzG,GAHJ,EAJX,OAAO,GAcfgE,oBAAqB,WAGjB,IAAMxF,KAAK4C,KACP,QAEJ,IAAIb,GAAU/B,KAAK+B,SACnB,IAAIA,EAAQ9B,aACR,OAAS8B,EAGb,IAAI0D,KASJ,OARMzF,MAAK4C,KAAKuB,8BAMZsB,EAAY9C,KAAMS,EAAEsC,MAAOtC,EAAEuC,OAAQ3F,KAAK4C,KAAKgB,mBAAqB7B,WALpEqB,EAAED,KAAMnD,KAAK4C,KAAKgD,gCAAiC,SAAUC,GACzDJ,EAAY9C,KAAMkD,EAAc9D,aAMjC0D,GAEXK,4BAA6B,SAAUrE,GAEnC,IAAM,GAAIsE,KAAK/F,MAAKkE,UAAY,CAC5B,GAAI8B,GAAehG,KAAKkE,UAAU6B,EAClC,IAAoB,SAAhBC,EACA,OAAO,CAEX,IAAIC,GAAc,GAAIC,MAEtB,IADAD,EAAcA,EAAYE,OAAO1E,EAAMyC,WACnCzC,EAAMmB,KAAKwD,iBACX,IAAK,GAAIC,KAAS5E,GAAMmB,KAAKwD,iBAAiB,CAC1C,GAAIE,GAAM7E,EAAMmB,KAAKwD,iBAAiBC,EACf,yBAAnBC,EAAIC,aAA6D,IAAnBD,EAAIE,aAAqBF,EAAIE,aAAe/E,EAAMgF,OAASH,EAAII,kBAC7GT,EAAYtD,KAAK2D,EAAII,iBAA0B,SAK3D,IAAM,GAAIC,KAAoBV,GAAc,CACxC,GAAIW,GAAiBX,EAAYU,EACjC,IAAuB,SAAlBC,GAA+C,WAAlBA,GAAiD,oBAAlBA,GAAwC/G,EAAQgH,IAAIC,UAAWb,EAAYU,GAAmBX,GAC3J,OAAO,GAInB,OAAO,GAEXe,qBAAsB,SAAUtF,GAC5B,GAAIb,GAAsBF,gCACtBe,GAAMxB,eACNW,EAAsBa,EAAM1B,eAEhC,IAAIiH,GAAevF,EAAMM,SAIzB,OAHIiF,GAAa/G,eACbW,EAAsBoG,EAAaxG,OAAOI,IAEvCA,KAIXqG,EAAgBtC,EAAkBrE,QAClCsE,OAAQ,SAAUC,GACd7E,KAAKkE,UAAYW,EAAMqC,WACvBlH,KAAK2D,SAAWkB,EAAMlB,SACtB3D,KAAKmH,YAAa,GAEtB1E,QAAS,SAAUC,GACfiC,EAAkBpE,UAAUkC,QAAQwB,KAAMjE,KAAM0C,EAChD,IAAI0E,GAAe1E,EAAU6C,OAC7B,IAAM6B,EAAN,CAGA,GAAIxG,GAAsBZ,KAAK+G,qBAAsBK,EACjDxG,GAAoBX,cACpBD,KAAKmC,WAAYvB,KAGzBoE,WAAY,SAAUvD,GAClB,GAAIb,GAAsBZ,KAAK+G,qBAAsBtF,GACjD4F,EAAcrH,KAAK+B,SACvB,IAAInB,EAAoBX,aAAe,CACnC,GAAID,KAAK2D,SACL,MAAI3D,MAAKkF,cAAiBlF,KAAKoF,uBAGpB,EAEqB,GAA5BxE,EAAoBV,KACbF,KAAK8F,4BAA6BrE,IAIlC,CAGf,IAAI4F,EAAYpH,cAAgBoH,EAAYxG,SAAUD,GAClD,MAAOZ,MAAK8F,4BAA6BrE,EAGzC,IAAI6F,GAAqBtH,KAAKwF,qBAC9B,OAAI8B,GAAmBC,MAAOnE,EAAEoE,KAAM5G,EAAoBC,SAAUD,IACzDZ,KAAK8F,4BAA6BrE,IAElC,EAGZ,MAAI4F,GAAYpH,cAGZ,EAEJD,KAAK8F,4BAA6BrE,MAI7CgG,EAA0B9C,EAAkBrE,QAC5CsE,OAAQ,SAAUC,GACd7E,KAAK2D,UAAW,EAChB3D,KAAKmH,YAAa,EAClBnH,KAAKkE,UAAYW,EAAMqC,UACvB,IAAIQ,KACA7C,GAAM8C,iBACNvE,EAAED,KAAK0B,EAAM8C,iBAAkB,SAAS5H,GACpC2H,EAAgB/E,KAAM,GAAI7C,GAA2BC,MAGzD2H,EAAgB/E,KAAKhC,iCAEzBX,KAAK0H,gBAAkBA,GAE3BjF,QAAS,SAAUC,GACfiC,EAAkBpE,UAAUkC,QAAQwB,KAAMjE,KAAM0C,EAChD,IAAIjB,GAAQiB,EAAU6C,OACtB,IAAM9D,EAAN,CAIA,GAAIR,GAAmBjB,KAAK4H,kBAAmBnG,EAC/CzB,MAAKmC,WAAYlB,KAErB2G,kBAAmB,SAAUnG,GACzB,GAAIiG,GAAkB1H,KAAK0H,gBACvB9G,EAAsBZ,KAAK+G,qBAAsBtF,GACjDZ,EAAWuC,EAAEyE,KAAKH,EAAiB,SAAU3H,GAAkB,MAAOA,GAAec,SAAUD,IAEnG,KAAMC,EACF,IAAK,GAAIiH,KAAuBJ,GAAkB,CAC9C,GAAI3H,GAAiB2H,EAAgBI,EACrC,IAAIlH,EAAoBE,WAAYf,GAAmB,CACnD,GAAIkB,GAAmBL,EAAoBK,iBAAkBlB,EAC7D,IAAIkB,GAAoBP,iCACpB,MAAOO,IAKvB,MAAOP,mCAEXqH,0BAA2B,WACvB,GAAIV,GAAcrH,KAAK+B,SACvB,OAAOqB,GAAE4E,IAAIhI,KAAK0H,gBAAiB,SAAS3B,GAAK,MAAOsB,GAAY7G,OAAOuF,MAE/Ef,WAAY,SAAWvD,GACnB,GAAIb,GAAsBZ,KAAK+G,qBAAsBtF,EACrD,IAAIb,EAAoBX,aAAe,CACnC,GAAIgI,GAA2BjI,KAAK+H,4BAChCV,EAAcrH,KAAK+B,UACnBlB,EAAWuC,EAAEyE,KAAKI,EAA0B,SAAU/G,GAA2B,MAAOA,GAAwBL,SAAUD,IAC9H,IAAIC,EAEA,MAAOb,MAAK8F,4BAA6BrE,EAEtC,IAAI4F,EAAYpH,aAEnB,OAAO,CACJ,IAAImD,EAAEyE,KAAK7H,KAAK0H,gBAAiB,SAAS3H,GAAkB,MAAOa,GAAoBE,WAAYf,KAAuB,CAC7H,GAAIkB,GAAmBjB,KAAK4H,kBAAmBnG,EAC/C,KAAMR,EAAiBhB,aACnB,OAAO,CAGX,IAAIqH,GAAqBtH,KAAKwF,qBAC9B,IAAI8B,EAAmBC,MAAOtG,EAAiBJ,UAC3C,MAAOb,MAAK8F,4BAA6BrE,IAIrD,OAAO,KAIXyG,EAA2B5F,EAAShC,QACpCuB,WAAY,SAAUC,GAClBQ,EAAS/B,UAAUsB,WAAWoC,KAAMjE,KAAM8B,GAC1C9B,KAAKkE,UAAYpC,EAAKoC,UACtBlE,KAAKD,eAAiB,GAAID,GAA2BgC,EAAKqG,iBAC1DnI,KAAKC,cAAe,GAExB2E,OAAQ,SAAUwD,GACd,GAAIC,GAAoB,GAAIvI,GAA2BsI,EAAOD,gBAC1DE,GAAkBtI,gBAAkBC,KAAKD,eAAeA,gBACxDqD,EAAED,KAAMnD,KAAKwC,WAAY,SAAUE,GAE/BA,EAAUY,YAGlBtD,KAAKD,eAAiBsI,IAI9B,QACIpB,cAAsCA,EACtCjD,eAAsCA,EACtCyD,wBAAsCA,EACtCS,yBAAsCA,EACtCxG,gBAAsCA,EAGtC5B,0BAAsCA,EACtCY,iCAAsCA,iCACtCC,gCAAsCA"} \ No newline at end of file diff --git a/static/scripts/mvc/workflow/workflow-terminals.js b/static/scripts/mvc/workflow/workflow-terminals.js index 60d4e84ed87..9cfe3dcd574 100644 --- a/static/scripts/mvc/workflow/workflow-terminals.js +++ b/static/scripts/mvc/workflow/workflow-terminals.js @@ -1,2 +1,2 @@ -define(["mvc/workflow/workflow-globals"],function(a){function b(a){this.collectionType=a,this.isCollection=!0,this.rank=a.split(":").length}$.extend(b.prototype,{append:function(a){return a===NULL_COLLECTION_TYPE_DESCRIPTION?this:a===ANY_COLLECTION_TYPE_DESCRIPTION?otherCollectionType:new b(this.collectionType+":"+a.collectionType)},canMatch:function(a){return a===NULL_COLLECTION_TYPE_DESCRIPTION?!1:a===ANY_COLLECTION_TYPE_DESCRIPTION?!0:a.collectionType==this.collectionType},canMapOver:function(a){if(a===NULL_COLLECTION_TYPE_DESCRIPTION)return!1;if(a===ANY_COLLECTION_TYPE_DESCRIPTION)return!1;if(this.rank<=a.rank)return!1;var b=a.collectionType;return this._endsWith(this.collectionType,b)},effectiveMapOver:function(a){var c=a.collectionType,d=this.collectionType.substring(0,this.collectionType.length-c.length-1);return new b(d)},equal:function(a){return a.collectionType==this.collectionType},toString:function(){return"CollectionType["+this.collectionType+"]"},_endsWith:function(a,b){return-1!==a.indexOf(b,a.length-b.length)}}),NULL_COLLECTION_TYPE_DESCRIPTION={isCollection:!1,canMatch:function(){return!1},canMapOver:function(){return!1},toString:function(){return"NullCollectionType[]"},append:function(a){return a},equal:function(a){return a===this}},ANY_COLLECTION_TYPE_DESCRIPTION={isCollection:!0,canMatch:function(a){return NULL_COLLECTION_TYPE_DESCRIPTION!==a},canMapOver:function(){return!1},toString:function(){return"AnyCollectionType[]"},append:function(){throw"Cannot append to ANY_COLLECTION_TYPE_DESCRIPTION"},equal:function(a){return a===this}};var c=Backbone.Model.extend({initialize:function(a){this.mapOver=a.mapOver||NULL_COLLECTION_TYPE_DESCRIPTION,this.terminal=a.terminal,this.terminal.terminalMapping=this},disableMapOver:function(){this.setMapOver(NULL_COLLECTION_TYPE_DESCRIPTION)},setMapOver:function(a){this.mapOver=a,this.trigger("change")}}),d=Backbone.Model.extend({initialize:function(a){this.element=a.element,this.connectors=[]},connect:function(a){this.connectors.push(a),this.node&&this.node.markChanged()},disconnect:function(a){this.connectors.splice($.inArray(a,this.connectors),1),this.node&&(this.node.markChanged(),this.resetMappingIfNeeded())},redraw:function(){$.each(this.connectors,function(a,b){b.redraw()})},destroy:function(){$.each(this.connectors.slice(),function(a,b){b.destroy()})},destroyInvalidConnections:function(){_.each(this.connectors,function(a){a.destroyIfInvalid()})},setMapOver:function(a){this.multiple||this.mapOver().equal(a)||(this.terminalMapping.setMapOver(a),_.each(this.node.output_terminals,function(b){b.setMapOver(a)}))},mapOver:function(){return this.terminalMapping?this.terminalMapping.mapOver:NULL_COLLECTION_TYPE_DESCRIPTION},isMappedOver:function(){return this.terminalMapping&&this.terminalMapping.mapOver.isCollection},resetMapping:function(){this.terminalMapping.disableMapOver()},resetMappingIfNeeded:function(){}}),e=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.datatypes=a.datatypes},resetMappingIfNeeded:function(){this.node.hasConnectedOutputTerminals()||this.node.hasConnectedMappedInputTerminals()||_.each(this.node.mappedInputTerminals(),function(a){a.resetMappingIfNeeded()});var a=!this.node.hasMappedOverInputTerminals();a&&this.resetMapping()},resetMapping:function(){this.terminalMapping.disableMapOver(),_.each(this.connectors,function(a){var b=a.handle2;b&&(b.resetMappingIfNeeded(),a.destroyIfInvalid())})}}),f=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.update(a.input)},canAccept:function(a){return this._inputFilled()?!1:this.attachable(a)},resetMappingIfNeeded:function(){var a=this.mapOver();if(a.isCollection){var b=this.node.hasConnectedMappedInputTerminals()||!this.node.hasConnectedOutputTerminals();b&&this.resetMapping()}},resetMapping:function(){this.terminalMapping.disableMapOver(),this.node.hasMappedOverInputTerminals()||_.each(this.node.output_terminals,function(a){a.resetMapping()})},connected:function(){return 0!==this.connectors.length},_inputFilled:function(){var a;return this.connected()?this.multiple?this._collectionAttached()?inputsFilled=!0:a=!1:a=!0:a=!1,a},_collectionAttached:function(){if(this.connected()){var a=this.connectors[0].handle1;return a&&(a.isCollection||a.isMappedOver()||a.datatypes.indexOf("input_collection")>0)?!0:!1}return!1},_mappingConstraints:function(){if(!this.node)return[];var a=this.mapOver();if(a.isCollection)return[a];var b=[];return this.node.hasConnectedOutputTerminals()?b.push(_.first(_.values(this.node.output_terminals)).mapOver()):_.each(this.node.connectedMappedInputTerminals(),function(a){b.push(a.mapOver())}),b},_producesAcceptableDatatype:function(b){for(var c in this.datatypes){var d=this.datatypes[c];if("input"==d)return!0;var e=new Array;if(e=e.concat(b.datatypes),b.node.post_job_actions)for(var f in b.node.post_job_actions){var g=b.node.post_job_actions[f];"ChangeDatatypeAction"!=g.action_type||""!=g.output_name&&g.output_name!=b.name||!g.action_arguments||e.push(g.action_arguments.newtype)}for(var h in e){var i=e[h];if("input"==i||"_sniff_"==i||"input_collection"==i||a.app.isSubType(e[h],d))return!0}}return!1},_otherCollectionType:function(a){var b=NULL_COLLECTION_TYPE_DESCRIPTION;a.isCollection&&(b=a.collectionType);var c=a.mapOver();return c.isCollection&&(b=c.append(b)),b}}),g=f.extend({update:function(a){this.datatypes=a.extensions,this.multiple=a.multiple,this.collection=!1},connect:function(a){f.prototype.connect.call(this,a);var b=a.handle1;if(b){var c=this._otherCollectionType(b);c.isCollection&&this.setMapOver(c)}},attachable:function(a){var b=this._otherCollectionType(a),c=this.mapOver();if(b.isCollection){if(this.multiple)return this.connected()&&!this._collectionAttached()?!1:1==b.rank?this._producesAcceptableDatatype(a):!1;if(c.isCollection&&c.canMatch(b))return this._producesAcceptableDatatype(a);var d=this._mappingConstraints();return d.every(_.bind(b.canMatch,b))?this._producesAcceptableDatatype(a):!1}return c.isCollection?!1:this._producesAcceptableDatatype(a)}}),h=f.extend({update:function(a){this.multiple=!1,this.collection=!0,this.datatypes=a.extensions;var c=[];a.collection_types?_.each(a.collection_types,function(a){c.push(new b(a))}):c.push(ANY_COLLECTION_TYPE_DESCRIPTION),this.collectionTypes=c},connect:function(a){f.prototype.connect.call(this,a);var b=a.handle1;if(b){var c=this._effectiveMapOver(b);this.setMapOver(c)}},_effectiveMapOver:function(a){var b=this.collectionTypes,c=this._otherCollectionType(a),d=_.some(b,function(a){return a.canMatch(c)});if(!d)for(var e in b){var f=b[e],g=c.effectiveMapOver(f);if(g!=NULL_COLLECTION_TYPE_DESCRIPTION)return g}return NULL_COLLECTION_TYPE_DESCRIPTION},_effectiveCollectionTypes:function(){var a=this.mapOver();return _.map(this.collectionTypes,function(b){return a.append(b)})},attachable:function(a){var b=this._otherCollectionType(a);if(b.isCollection){var c=this._effectiveCollectionTypes(),d=this.mapOver(),e=_.some(c,function(a){return a.canMatch(b)});if(e)return this._producesAcceptableDatatype(a);if(d.isCollection)return!1;if(_.some(this.collectionTypes,function(a){return b.canMapOver(a)})){var f=this._effectiveMapOver(a);if(!f.isCollection)return!1;var g=this._mappingConstraints();if(g.every(f.canMatch))return this._producesAcceptableDatatype(a)}}return!1}}),i=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.datatypes=a.datatypes,this.collectionType=new b(a.collection_type),this.isCollection=!0},update:function(a){var c=new b(a.collection_type);c.collectionType!=this.collectionType.collectionType&&_.each(this.connectors,function(a){a.destroy()}),this.collectionType=c}});return{InputTerminal:g,OutputTerminal:e,InputCollectionTerminal:h,OutputCollectionTerminal:i,TerminalMapping:c,CollectionTypeDescription:b,NULL_COLLECTION_TYPE_DESCRIPTION:NULL_COLLECTION_TYPE_DESCRIPTION,ANY_COLLECTION_TYPE_DESCRIPTION:ANY_COLLECTION_TYPE_DESCRIPTION}}); +define(["mvc/workflow/workflow-globals"],function(a){function b(a){this.collectionType=a,this.isCollection=!0,this.rank=a.split(":").length}$.extend(b.prototype,{append:function(a){return a===NULL_COLLECTION_TYPE_DESCRIPTION?this:a===ANY_COLLECTION_TYPE_DESCRIPTION?otherCollectionType:new b(this.collectionType+":"+a.collectionType)},canMatch:function(a){return a===NULL_COLLECTION_TYPE_DESCRIPTION?!1:a===ANY_COLLECTION_TYPE_DESCRIPTION?!0:a.collectionType==this.collectionType},canMapOver:function(a){if(a===NULL_COLLECTION_TYPE_DESCRIPTION)return!1;if(a===ANY_COLLECTION_TYPE_DESCRIPTION)return!1;if(this.rank<=a.rank)return!1;var b=a.collectionType;return this._endsWith(this.collectionType,b)},effectiveMapOver:function(a){var c=a.collectionType,d=this.collectionType.substring(0,this.collectionType.length-c.length-1);return new b(d)},equal:function(a){return a.collectionType==this.collectionType},toString:function(){return"CollectionType["+this.collectionType+"]"},_endsWith:function(a,b){return-1!==a.indexOf(b,a.length-b.length)}}),NULL_COLLECTION_TYPE_DESCRIPTION={isCollection:!1,canMatch:function(){return!1},canMapOver:function(){return!1},toString:function(){return"NullCollectionType[]"},append:function(a){return a},equal:function(a){return a===this}},ANY_COLLECTION_TYPE_DESCRIPTION={isCollection:!0,canMatch:function(a){return NULL_COLLECTION_TYPE_DESCRIPTION!==a},canMapOver:function(){return!1},toString:function(){return"AnyCollectionType[]"},append:function(){throw"Cannot append to ANY_COLLECTION_TYPE_DESCRIPTION"},equal:function(a){return a===this}};var c=Backbone.Model.extend({initialize:function(a){this.mapOver=a.mapOver||NULL_COLLECTION_TYPE_DESCRIPTION,this.terminal=a.terminal,this.terminal.terminalMapping=this},disableMapOver:function(){this.setMapOver(NULL_COLLECTION_TYPE_DESCRIPTION)},setMapOver:function(a){this.mapOver=a,this.trigger("change")}}),d=Backbone.Model.extend({initialize:function(a){this.element=a.element,this.connectors=[]},connect:function(a){this.connectors.push(a),this.node&&this.node.markChanged()},disconnect:function(a){this.connectors.splice($.inArray(a,this.connectors),1),this.node&&(this.node.markChanged(),this.resetMappingIfNeeded())},redraw:function(){$.each(this.connectors,function(a,b){b.redraw()})},destroy:function(){$.each(this.connectors.slice(),function(a,b){b.destroy()})},destroyInvalidConnections:function(){_.each(this.connectors,function(a){a.destroyIfInvalid()})},setMapOver:function(a){this.multiple||this.mapOver().equal(a)||(this.terminalMapping.setMapOver(a),_.each(this.node.output_terminals,function(b){b.setMapOver(a)}))},mapOver:function(){return this.terminalMapping?this.terminalMapping.mapOver:NULL_COLLECTION_TYPE_DESCRIPTION},isMappedOver:function(){return this.terminalMapping&&this.terminalMapping.mapOver.isCollection},resetMapping:function(){this.terminalMapping.disableMapOver()},resetMappingIfNeeded:function(){}}),e=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.datatypes=a.datatypes},resetMappingIfNeeded:function(){this.node.hasConnectedOutputTerminals()||this.node.hasConnectedMappedInputTerminals()||_.each(this.node.mappedInputTerminals(),function(a){a.resetMappingIfNeeded()});var a=!this.node.hasMappedOverInputTerminals();a&&this.resetMapping()},resetMapping:function(){this.terminalMapping.disableMapOver(),_.each(this.connectors,function(a){var b=a.handle2;b&&(b.resetMappingIfNeeded(),a.destroyIfInvalid())})}}),f=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.update(a.input)},canAccept:function(a){return this._inputFilled()?!1:this.attachable(a)},resetMappingIfNeeded:function(){var a=this.mapOver();if(a.isCollection){var b=this.node.hasConnectedMappedInputTerminals()||!this.node.hasConnectedOutputTerminals();b&&this.resetMapping()}},resetMapping:function(){this.terminalMapping.disableMapOver(),this.node.hasMappedOverInputTerminals()||_.each(this.node.output_terminals,function(a){a.resetMapping()})},connected:function(){return 0!==this.connectors.length},_inputFilled:function(){var a;return this.connected()?this.multiple?this._collectionAttached()?inputsFilled=!0:a=!1:a=!0:a=!1,a},_collectionAttached:function(){if(this.connected()){var a=this.connectors[0].handle1;return a&&(a.isCollection||a.isMappedOver()||a.datatypes.indexOf("input_collection")>0)?!0:!1}return!1},_mappingConstraints:function(){if(!this.node)return[];var a=this.mapOver();if(a.isCollection)return[a];var b=[];return this.node.hasConnectedOutputTerminals()?b.push(_.first(_.values(this.node.output_terminals)).mapOver()):_.each(this.node.connectedMappedInputTerminals(),function(a){b.push(a.mapOver())}),b},_producesAcceptableDatatype:function(b){for(var c in this.datatypes){var d=this.datatypes[c];if("input"==d)return!0;var e=new Array;if(e=e.concat(b.datatypes),b.node.post_job_actions)for(var f in b.node.post_job_actions){var g=b.node.post_job_actions[f];"ChangeDatatypeAction"!=g.action_type||""!=g.output_name&&g.output_name!=b.name||!g.action_arguments||e.push(g.action_arguments.newtype)}for(var h in e){var i=e[h];if("input"==i||"_sniff_"==i||"input_collection"==i||a.app.isSubType(e[h],d))return!0}}return!1},_otherCollectionType:function(a){var b=NULL_COLLECTION_TYPE_DESCRIPTION;a.isCollection&&(b=a.collectionType);var c=a.mapOver();return c.isCollection&&(b=c.append(b)),b}}),g=f.extend({update:function(a){this.datatypes=a.extensions,this.multiple=a.multiple,this.collection=!1},connect:function(a){f.prototype.connect.call(this,a);var b=a.handle1;if(b){var c=this._otherCollectionType(b);c.isCollection&&this.setMapOver(c)}},attachable:function(a){var b=this._otherCollectionType(a),c=this.mapOver();if(b.isCollection){if(this.multiple)return this.connected()&&!this._collectionAttached()?!1:1==b.rank?this._producesAcceptableDatatype(a):!1;if(c.isCollection&&c.canMatch(b))return this._producesAcceptableDatatype(a);var d=this._mappingConstraints();return d.every(_.bind(b.canMatch,b))?this._producesAcceptableDatatype(a):!1}return c.isCollection?!1:this._producesAcceptableDatatype(a)}}),h=f.extend({update:function(a){this.multiple=!1,this.collection=!0,this.datatypes=a.extensions;var c=[];a.collection_types?_.each(a.collection_types,function(a){c.push(new b(a))}):c.push(ANY_COLLECTION_TYPE_DESCRIPTION),this.collectionTypes=c},connect:function(a){f.prototype.connect.call(this,a);var b=a.handle1;if(b){var c=this._effectiveMapOver(b);this.setMapOver(c)}},_effectiveMapOver:function(a){var b=this.collectionTypes,c=this._otherCollectionType(a),d=_.some(b,function(a){return a.canMatch(c)});if(!d)for(var e in b){var f=b[e];if(c.canMapOver(f)){var g=c.effectiveMapOver(f);if(g!=NULL_COLLECTION_TYPE_DESCRIPTION)return g}}return NULL_COLLECTION_TYPE_DESCRIPTION},_effectiveCollectionTypes:function(){var a=this.mapOver();return _.map(this.collectionTypes,function(b){return a.append(b)})},attachable:function(a){var b=this._otherCollectionType(a);if(b.isCollection){var c=this._effectiveCollectionTypes(),d=this.mapOver(),e=_.some(c,function(a){return a.canMatch(b)});if(e)return this._producesAcceptableDatatype(a);if(d.isCollection)return!1;if(_.some(this.collectionTypes,function(a){return b.canMapOver(a)})){var f=this._effectiveMapOver(a);if(!f.isCollection)return!1;var g=this._mappingConstraints();if(g.every(f.canMatch))return this._producesAcceptableDatatype(a)}}return!1}}),i=d.extend({initialize:function(a){d.prototype.initialize.call(this,a),this.datatypes=a.datatypes,this.collectionType=new b(a.collection_type),this.isCollection=!0},update:function(a){var c=new b(a.collection_type);c.collectionType!=this.collectionType.collectionType&&_.each(this.connectors,function(a){a.destroy()}),this.collectionType=c}});return{InputTerminal:g,OutputTerminal:e,InputCollectionTerminal:h,OutputCollectionTerminal:i,TerminalMapping:c,CollectionTypeDescription:b,NULL_COLLECTION_TYPE_DESCRIPTION:NULL_COLLECTION_TYPE_DESCRIPTION,ANY_COLLECTION_TYPE_DESCRIPTION:ANY_COLLECTION_TYPE_DESCRIPTION}}); //# sourceMappingURL=../../../maps/mvc/workflow/workflow-terminals.js.map \ No newline at end of file