From d4035de4d679258455634e3584cbb6e46938e6fa Mon Sep 17 00:00:00 2001 From: Josh Harvey Date: Tue, 20 Dec 2016 21:11:42 +0200 Subject: [PATCH] add country --- lamassu-schema.json | 12 ++++++ lib/routes.js | 3 +- public/elm.js | 98 +++++++++++++++++++++++++++++++++++++-------- public/styles.css | 2 + 4 files changed, 97 insertions(+), 18 deletions(-) diff --git a/lamassu-schema.json b/lamassu-schema.json index a471bbd4..282c4338 100644 --- a/lamassu-schema.json +++ b/lamassu-schema.json @@ -38,6 +38,7 @@ "cryptoScope": "global", "machineScope": "both", "fields": [ + "country", "machineLanguages", "cryptoCurrencies", "topCashOutDenomination", @@ -182,6 +183,17 @@ } ] }, + { + "code": "country", + "displayBottom": "Country", + "fieldType": "country", + "fieldClass": null, + "fieldValidation": [ + { + "code": "required" + } + ] + }, { "code": "machineLanguages", "displayBottom": "Languages", diff --git a/lib/routes.js b/lib/routes.js index 146673c5..aa08661d 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -46,7 +46,8 @@ function poll (req, res, next) { fiatCode: config.fiatCurrency, localeInfo: { primaryLocale: langs[0], - primaryLocales: langs + primaryLocales: langs, + country: config.country } } diff --git a/public/elm.js b/public/elm.js index 1d11bf39..336c2cc9 100644 --- a/public/elm.js +++ b/public/elm.js @@ -23854,8 +23854,10 @@ var _user$project$ConfigTypes$fieldValueToString = function (fieldValue) { return _p8._0; case 'FieldCryptoCurrencyValue': return A2(_elm_lang$core$String$join, ',', _p8._0); - default: + case 'FieldLanguageValue': return A2(_elm_lang$core$String$join, ',', _p8._0); + default: + return _p8._0; } }; var _user$project$ConfigTypes$accountRecToDisplayRec = function (accountRec) { @@ -23909,9 +23911,9 @@ var _user$project$ConfigTypes$AccountRec = F4( function (a, b, c, d) { return {code: a, display: b, $class: c, cryptos: d}; }); -var _user$project$ConfigTypes$ConfigData = F5( - function (a, b, c, d, e) { - return {cryptoCurrencies: a, currencies: b, languages: c, accounts: d, machines: e}; +var _user$project$ConfigTypes$ConfigData = F6( + function (a, b, c, d, e, f) { + return {cryptoCurrencies: a, currencies: b, languages: c, countries: d, accounts: e, machines: f}; }); var _user$project$ConfigTypes$GlobalCrypto = {ctor: 'GlobalCrypto'}; var _user$project$ConfigTypes$globalCryptoDisplay = {crypto: _user$project$ConfigTypes$GlobalCrypto, display: 'Global'}; @@ -24029,6 +24031,7 @@ var _user$project$ConfigTypes$SelectizeComponent = function (a) { return {ctor: 'SelectizeComponent', _0: a}; }; var _user$project$ConfigTypes$InputBoxComponent = {ctor: 'InputBoxComponent'}; +var _user$project$ConfigTypes$FieldCountryType = {ctor: 'FieldCountryType'}; var _user$project$ConfigTypes$FieldLanguageType = {ctor: 'FieldLanguageType'}; var _user$project$ConfigTypes$FieldCryptoCurrencyType = {ctor: 'FieldCryptoCurrencyType'}; var _user$project$ConfigTypes$FieldFiatCurrencyType = {ctor: 'FieldFiatCurrencyType'}; @@ -24037,6 +24040,9 @@ var _user$project$ConfigTypes$FieldOnOffType = {ctor: 'FieldOnOffType'}; var _user$project$ConfigTypes$FieldIntegerType = {ctor: 'FieldIntegerType'}; var _user$project$ConfigTypes$FieldPercentageType = {ctor: 'FieldPercentageType'}; var _user$project$ConfigTypes$FieldStringType = {ctor: 'FieldStringType'}; +var _user$project$ConfigTypes$FieldCountryValue = function (a) { + return {ctor: 'FieldCountryValue', _0: a}; +}; var _user$project$ConfigTypes$FieldLanguageValue = function (a) { return {ctor: 'FieldLanguageValue', _0: a}; }; @@ -24110,7 +24116,7 @@ var _user$project$ConfigTypes$stringToFieldHolder = F2( _0: s, _1: {ctor: '[]'} })); - default: + case 'FieldLanguageType': return _user$project$ConfigTypes$FieldOk( _user$project$ConfigTypes$FieldLanguageValue( { @@ -24118,6 +24124,9 @@ var _user$project$ConfigTypes$stringToFieldHolder = F2( _0: s, _1: {ctor: '[]'} })); + default: + return _user$project$ConfigTypes$FieldOk( + _user$project$ConfigTypes$FieldCountryValue(s)); } } }); @@ -24210,6 +24219,8 @@ var _user$project$ConfigDecoder$basicFieldTypeDecoder = function (s) { return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldCryptoCurrencyType); case 'language': return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldLanguageType); + case 'country': + return _elm_lang$core$Json_Decode$succeed(_user$project$ConfigTypes$FieldCountryType); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'No such FieldType ', s)); @@ -24281,8 +24292,8 @@ var _user$project$ConfigDecoder$machineDisplayDecoder = A3( _user$project$ConfigTypes$MachineDisplay, A2(_elm_lang$core$Json_Decode$field, 'machine', _user$project$ConfigDecoder$machineDecoder), A2(_elm_lang$core$Json_Decode$field, 'display', _elm_lang$core$Json_Decode$string)); -var _user$project$ConfigDecoder$configDataDecoder = A6( - _elm_lang$core$Json_Decode$map5, +var _user$project$ConfigDecoder$configDataDecoder = A7( + _elm_lang$core$Json_Decode$map6, _user$project$ConfigTypes$ConfigData, A2( _elm_lang$core$Json_Decode$field, @@ -24296,6 +24307,10 @@ var _user$project$ConfigDecoder$configDataDecoder = A6( _elm_lang$core$Json_Decode$field, 'languages', _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$displayRecDecoder)), + A2( + _elm_lang$core$Json_Decode$field, + 'countries', + _elm_lang$core$Json_Decode$list(_user$project$ConfigDecoder$displayRecDecoder)), A2( _elm_lang$core$Json_Decode$field, 'accounts', @@ -24428,6 +24443,11 @@ var _user$project$ConfigDecoder$fieldValueTypeDecoder = function (fieldType) { _elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$list(_elm_lang$core$Json_Decode$string))); + case 'country': + return A2( + _elm_lang$core$Json_Decode$map, + _user$project$ConfigTypes$FieldCountryValue, + A2(_elm_lang$core$Json_Decode$field, 'value', _elm_lang$core$Json_Decode$string)); default: return _elm_lang$core$Json_Decode$fail( A2(_elm_lang$core$Basics_ops['++'], 'Unsupported field type: ', fieldType)); @@ -24481,8 +24501,10 @@ var _user$project$ConfigEncoder$fieldTypeEncoder = function (fieldType) { return _elm_lang$core$Json_Encode$string('fiatCurrency'); case 'FieldCryptoCurrencyType': return _elm_lang$core$Json_Encode$string('cryptoCurrency'); - default: + case 'FieldLanguageType': return _elm_lang$core$Json_Encode$string('language'); + default: + return _elm_lang$core$Json_Encode$string('country'); } }; var _user$project$ConfigEncoder$encodeMachine = function (machine) { @@ -24613,12 +24635,17 @@ var _user$project$ConfigEncoder$encodeFieldValue = function (fieldValue) { 'cryptoCurrency', _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p4._0))); - default: + case 'FieldLanguageValue': return A2( _user$project$ConfigEncoder$encodeFieldValueObject, 'language', _elm_lang$core$Json_Encode$list( A2(_elm_lang$core$List$map, _elm_lang$core$Json_Encode$string, _p4._0))); + default: + return A2( + _user$project$ConfigEncoder$encodeFieldValueObject, + 'country', + _elm_lang$core$Json_Encode$string(_p4._0)); } }; var _user$project$ConfigEncoder$encodeFieldResult = function (fieldInstance) { @@ -24918,7 +24945,15 @@ var _user$project$Css_Selectize$component = _rtfeldman$elm_css$Css$mixin( _rtfeldman$elm_css$Css$padding2, _rtfeldman$elm_css$Css$px(3), _rtfeldman$elm_css$Css$px(6)), - _1: {ctor: '[]'} + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Css$overflow(_rtfeldman$elm_css$Css$hidden), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Css$textOverflow(_rtfeldman$elm_css$Css$ellipsis), + _1: {ctor: '[]'} + } + } }), _1: { ctor: '::', @@ -25321,8 +25356,8 @@ var _user$project$Config$updateSelectize = F3( return _elm_lang$core$Native_Utils.crashCase( 'Config', { - start: {line: 1177, column: 17}, - end: {line: 1182, column: 56} + start: {line: 1223, column: 17}, + end: {line: 1228, column: 56} }, _p3)('Shouldn\'t be here'); } @@ -25419,6 +25454,8 @@ var _user$project$Config$buildFieldComponent = F4( return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); case 'FieldCryptoCurrencyType': return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); + case 'FieldLanguageType': + return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); default: return _user$project$ConfigTypes$SelectizeComponent(_user$project$Selectize$initialSelectize); } @@ -25490,8 +25527,8 @@ var _user$project$Config$isField = function (fieldValue) { return _elm_lang$core$Native_Utils.crashCase( 'Config', { - start: {line: 937, column: 5}, - end: {line: 942, column: 59} + start: {line: 980, column: 5}, + end: {line: 985, column: 59} }, _p11)('Referenced field must be boolean'); } @@ -25751,6 +25788,31 @@ var _user$project$Config$onOffSelectizeView = F6( fallbackIds, selectizeState); }); +var _user$project$Config$countrySelectizeView = F6( + function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { + var fallbackIds = _user$project$Config$maybeToList( + A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFallbackFieldValue)); + var selectedIds = _user$project$Config$maybeToList( + A2(_elm_lang$core$Maybe$map, _user$project$ConfigTypes$fieldValueToString, maybeFieldValue)); + var availableItems = model.configGroup.data.countries; + var specificConfig = { + maxItems: 1, + selectedDisplay: function (_) { + return _.code; + }, + optionDisplay: function (_) { + return _.display; + }, + match: _user$project$FuzzyMatch$match + }; + return A5( + _user$project$Selectize$view, + A2(_user$project$SelectizeHelper$buildConfig, localConfig, specificConfig), + selectedIds, + availableItems, + fallbackIds, + selectizeState); + }); var _user$project$Config$languageSelectizeView = F6( function (model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue) { var toList = function (maybeValue) { @@ -26295,14 +26357,16 @@ var _user$project$Config$selectizeView = F6( return A6(_user$project$Config$cryptoCurrencySelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldLanguageType': return A6(_user$project$Config$languageSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); + case 'FieldCountryType': + return A6(_user$project$Config$countrySelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); case 'FieldOnOffType': return A6(_user$project$Config$onOffSelectizeView, model, localConfig, fieldInstance, selectizeState, maybeFieldValue, maybeFallbackFieldValue); default: return _elm_lang$core$Native_Utils.crashCase( 'Config', { - start: {line: 554, column: 9}, - end: {line: 596, column: 52} + start: {line: 589, column: 9}, + end: {line: 639, column: 52} }, _p38)('Not a Selectize field'); } @@ -29776,7 +29840,7 @@ var _user$project$Main$Model = F9( var Elm = {}; Elm['Main'] = Elm['Main'] || {}; if (typeof _user$project$Main$main !== 'undefined') { - _user$project$Main$main(Elm['Main'], 'Main', {"types":{"unions":{"FieldSetTypes.FieldValue":{"args":[],"tags":{"FieldString":["String"],"FieldPassword":["FieldSetTypes.FieldPasswordType"]}},"Selectize.Status":{"args":[],"tags":{"Editing":[],"Idle":[],"Blurred":[],"Cleared":[],"Initial":[]}},"Dict.LeafColor":{"args":[],"tags":{"LBBlack":[],"LBlack":[]}},"Account.SavingStatus":{"args":[],"tags":{"Saving":[],"Editing":[],"NotSaving":[],"Saved":[]}},"ConfigTypes.ConfigScope":{"args":[],"tags":{"Specific":[],"Both":[],"Global":[]}},"ConfigTypes.FieldType":{"args":[],"tags":{"FieldOnOffType":[],"FieldPercentageType":[],"FieldLanguageType":[],"FieldCryptoCurrencyType":[],"FieldIntegerType":[],"FieldFiatCurrencyType":[],"FieldStringType":[],"FieldAccountType":[]}},"Pair.Msg":{"args":[],"tags":{"SubmitName":[],"Load":["RemoteData.WebData String"],"InputName":["String"]}},"Transaction.Msg":{"args":[],"tags":{"Load":["Transaction.Model"]}},"Machine.SavingStatus":{"args":[],"tags":{"Saving":[],"Editing":[],"NotSaving":[],"Saved":[]}},"Dict.Dict":{"args":["k","v"],"tags":{"RBNode_elm_builtin":["Dict.NColor","k","v","Dict.Dict k v","Dict.Dict k v"],"RBEmpty_elm_builtin":["Dict.LeafColor"]}},"ConfigTypes.DisplayTop":{"args":[],"tags":{"DisplayTopSolo":["String"],"DisplayTopLeader":["Int","String"],"DisplayTopNone":[]}},"Date.Date":{"args":[],"tags":{"Date":[]}},"Account.Msg":{"args":[],"tags":{"Load":["Account.Model"],"FieldSetMsg":["FieldSet.Msg"],"Submit":[],"HideSaveIndication":[]}},"Maybe.Maybe":{"args":["a"],"tags":{"Just":["a"],"Nothing":[]}},"RemoteData.RemoteData":{"args":["e","a"],"tags":{"NotAsked":[],"Success":["a"],"Loading":[],"Failure":["e"]}},"ConfigTypes.Crypto":{"args":[],"tags":{"GlobalCrypto":[],"CryptoCode":["String"]}},"FieldSet.Msg":{"args":[],"tags":{"Input":["String","String"]}},"CoreTypes.Msg":{"args":[],"tags":{"ConfigMsg":["Config.Msg"],"LoadAccounts":["List ( String, String )"],"MachineMsg":["Machine.Msg"],"NewUrl":["String"],"Interval":[],"LoadStatus":["StatusTypes.WebStatus"],"UrlChange":["Navigation.Location"],"TransactionMsg":["Transaction.Msg"],"AccountMsg":["Account.Msg"],"PairMsg":["Pair.Msg"]}},"Dict.NColor":{"args":[],"tags":{"BBlack":[],"Red":[],"NBlack":[],"Black":[]}},"ConfigTypes.Machine":{"args":[],"tags":{"MachineId":["String"],"GlobalMachine":[]}},"Machine.Msg":{"args":[],"tags":{"Action":[],"Load":["Machine.Model"],"InputCassette":["MachineTypes.Machine","Machine.Position","String"],"HideSaveIndication":[],"SubmitResetBills":["MachineTypes.Machine"]}},"Machine.Position":{"args":[],"tags":{"Bottom":[],"Top":[]}},"Config.Msg":{"args":[],"tags":{"Focus":["ConfigTypes.FieldLocator"],"BlurSelectize":["ConfigTypes.FieldLocator","Selectize.State"],"Remove":["ConfigTypes.FieldLocator","Selectize.State"],"Load":["Config.WebConfigGroup"],"Input":["ConfigTypes.FieldLocator","String"],"Blur":["ConfigTypes.FieldLocator"],"Add":["ConfigTypes.FieldLocator","String","Selectize.State"],"Submit":[],"SelectizeMsg":["ConfigTypes.FieldLocator","Selectize.State"],"FocusSelectize":["ConfigTypes.FieldLocator","Selectize.State"],"HideSaveIndication":[],"NoOp":[],"CryptoSwitch":["ConfigTypes.Crypto"]}},"TransactionTypes.Tx":{"args":[],"tags":{"CashInTx":["TransactionTypes.CashInTxRec"],"CashOutTx":["TransactionTypes.CashOutTxRec"]}},"FieldSetTypes.FieldPasswordType":{"args":[],"tags":{"PasswordEmpty":[],"PasswordHidden":[],"Password":["String"]}},"ConfigTypes.FieldValidator":{"args":[],"tags":{"FieldRequired":[],"FieldMin":["Int"],"FieldMax":["Int"]}},"Http.Error":{"args":[],"tags":{"BadUrl":["String"],"NetworkError":[],"Timeout":[],"BadStatus":["Http.Response String"],"BadPayload":["String","Http.Response String"]}},"ConfigTypes.FieldValue":{"args":[],"tags":{"FieldIntegerValue":["Int"],"FieldCryptoCurrencyValue":["List String"],"FieldFiatCurrencyValue":["String"],"FieldStringValue":["String"],"FieldOnOffValue":["Bool"],"FieldAccountValue":["String"],"FieldLanguageValue":["List String"],"FieldPercentageValue":["Float"]}}},"aliases":{"ConfigTypes.ConfigSchema":{"args":[],"type":"{ code : String , display : String , cryptoScope : ConfigTypes.ConfigScope , machineScope : ConfigTypes.ConfigScope , entries : List ConfigTypes.FieldDescriptor }"},"Machine.Model":{"args":[],"type":"RemoteData.WebData Machine.SubModel"},"Selectize.State":{"args":[],"type":"{ boxPosition : Int, status : Selectize.Status, string : String }"},"TransactionTypes.CashInTxRec":{"args":[],"type":"{ id : String , machineName : String , toAddress : String , cryptoAtoms : Int , cryptoCode : String , fiat : Float , currencyCode : String , txHash : Maybe.Maybe String , phone : Maybe.Maybe String , error : Maybe.Maybe String , created : Date.Date }"},"RemoteData.WebData":{"args":["a"],"type":"RemoteData.RemoteData Http.Error a"},"ConfigTypes.FieldLocator":{"args":[],"type":"{ fieldScope : ConfigTypes.FieldScope , code : String , fieldType : ConfigTypes.FieldType , fieldClass : Maybe.Maybe String }"},"AccountTypes.Account":{"args":[],"type":"{ code : String , display : String , fields : List FieldSetTypes.Field }"},"Http.Response":{"args":["body"],"type":"{ url : String , status : { code : Int, message : String } , headers : Dict.Dict String String , body : body }"},"MachineTypes.Machine":{"args":[],"type":"{ deviceId : String , name : String , cashbox : Int , cassette1 : Int , cassette2 : Int , paired : Bool }"},"StatusTypes.WebStatus":{"args":[],"type":"RemoteData.WebData StatusTypes.StatusRec"},"ConfigTypes.ConfigData":{"args":[],"type":"{ cryptoCurrencies : List ConfigTypes.CryptoDisplay , currencies : List ConfigTypes.DisplayRec , languages : List ConfigTypes.DisplayRec , accounts : List ConfigTypes.AccountRec , machines : List ConfigTypes.MachineDisplay }"},"Account.Model":{"args":[],"type":"RemoteData.WebData Account.SubModel"},"ConfigTypes.CryptoDisplay":{"args":[],"type":"{ crypto : ConfigTypes.Crypto, display : String }"},"Config.WebConfigGroup":{"args":[],"type":"RemoteData.WebData ConfigTypes.ConfigGroup"},"ConfigTypes.DisplayRec":{"args":[],"type":"{ code : String, display : String }"},"Account.SubModel":{"args":[],"type":"{ status : Account.SavingStatus, account : AccountTypes.Account }"},"ConfigTypes.FieldScope":{"args":[],"type":"{ crypto : ConfigTypes.Crypto, machine : ConfigTypes.Machine }"},"FieldSetTypes.Field":{"args":[],"type":"{ code : String , display : String , required : Bool , value : FieldSetTypes.FieldValue , loadedValue : FieldSetTypes.FieldValue }"},"ConfigTypes.ConfigGroup":{"args":[],"type":"{ schema : ConfigTypes.ConfigSchema , values : List ConfigTypes.Field , selectedCryptos : List String , data : ConfigTypes.ConfigData }"},"ConfigTypes.AccountRec":{"args":[],"type":"{ code : String , display : String , class : String , cryptos : Maybe.Maybe (List ConfigTypes.Crypto) }"},"Transaction.Model":{"args":[],"type":"RemoteData.WebData Transaction.Txs"},"ConfigTypes.Field":{"args":[],"type":"{ fieldLocator : ConfigTypes.FieldLocator , fieldValue : ConfigTypes.FieldValue }"},"Transaction.Txs":{"args":[],"type":"List TransactionTypes.Tx"},"ConfigTypes.MachineDisplay":{"args":[],"type":"{ machine : ConfigTypes.Machine, display : String }"},"Machine.SubModel":{"args":[],"type":"{ status : Machine.SavingStatus, machines : MachineTypes.Machines }"},"StatusTypes.ServerRec":{"args":[],"type":"{ up : Bool , lastPing : Maybe.Maybe String , rates : List StatusTypes.Rate }"},"StatusTypes.Rate":{"args":[],"type":"{ crypto : String, bid : Float, ask : Float }"},"TransactionTypes.CashOutTxRec":{"args":[],"type":"{ id : String , machineName : String , toAddress : String , cryptoAtoms : Int , cryptoCode : String , fiat : Float , currencyCode : String , txHash : Maybe.Maybe String , status : String , dispensed : Bool , notified : Bool , redeemed : Bool , phone : Maybe.Maybe String , error : Maybe.Maybe String , created : Date.Date , confirmed : Bool }"},"MachineTypes.Machines":{"args":[],"type":"List MachineTypes.Machine"},"ConfigTypes.FieldDescriptor":{"args":[],"type":"{ code : String , displayTop : ConfigTypes.DisplayTop , displayBottom : String , displayCount : Maybe.Maybe Int , fieldType : ConfigTypes.FieldType , fieldValidation : List ConfigTypes.FieldValidator , fieldClass : Maybe.Maybe String , fieldEnabledIf : List String }"},"StatusTypes.StatusRec":{"args":[],"type":"{ server : StatusTypes.ServerRec, invalidConfigGroups : List String }"},"Navigation.Location":{"args":[],"type":"{ href : String , host : String , hostname : String , protocol : String , origin : String , port_ : String , pathname : String , search : String , hash : String , username : String , password : String }"}},"message":"CoreTypes.Msg"},"versions":{"elm":"0.18.0"}}); + _user$project$Main$main(Elm['Main'], 'Main', {"types":{"unions":{"FieldSetTypes.FieldValue":{"args":[],"tags":{"FieldString":["String"],"FieldPassword":["FieldSetTypes.FieldPasswordType"]}},"Selectize.Status":{"args":[],"tags":{"Editing":[],"Idle":[],"Blurred":[],"Cleared":[],"Initial":[]}},"Dict.LeafColor":{"args":[],"tags":{"LBBlack":[],"LBlack":[]}},"Account.SavingStatus":{"args":[],"tags":{"Saving":[],"Editing":[],"NotSaving":[],"Saved":[]}},"ConfigTypes.ConfigScope":{"args":[],"tags":{"Specific":[],"Both":[],"Global":[]}},"ConfigTypes.FieldType":{"args":[],"tags":{"FieldOnOffType":[],"FieldPercentageType":[],"FieldLanguageType":[],"FieldCryptoCurrencyType":[],"FieldIntegerType":[],"FieldFiatCurrencyType":[],"FieldStringType":[],"FieldCountryType":[],"FieldAccountType":[]}},"Pair.Msg":{"args":[],"tags":{"SubmitName":[],"Load":["RemoteData.WebData String"],"InputName":["String"]}},"Transaction.Msg":{"args":[],"tags":{"Load":["Transaction.Model"]}},"Machine.SavingStatus":{"args":[],"tags":{"Saving":[],"Editing":[],"NotSaving":[],"Saved":[]}},"Dict.Dict":{"args":["k","v"],"tags":{"RBNode_elm_builtin":["Dict.NColor","k","v","Dict.Dict k v","Dict.Dict k v"],"RBEmpty_elm_builtin":["Dict.LeafColor"]}},"ConfigTypes.DisplayTop":{"args":[],"tags":{"DisplayTopSolo":["String"],"DisplayTopLeader":["Int","String"],"DisplayTopNone":[]}},"Date.Date":{"args":[],"tags":{"Date":[]}},"Account.Msg":{"args":[],"tags":{"Load":["Account.Model"],"FieldSetMsg":["FieldSet.Msg"],"Submit":[],"HideSaveIndication":[]}},"Maybe.Maybe":{"args":["a"],"tags":{"Just":["a"],"Nothing":[]}},"RemoteData.RemoteData":{"args":["e","a"],"tags":{"NotAsked":[],"Success":["a"],"Loading":[],"Failure":["e"]}},"ConfigTypes.Crypto":{"args":[],"tags":{"GlobalCrypto":[],"CryptoCode":["String"]}},"FieldSet.Msg":{"args":[],"tags":{"Input":["String","String"]}},"CoreTypes.Msg":{"args":[],"tags":{"ConfigMsg":["Config.Msg"],"LoadAccounts":["List ( String, String )"],"MachineMsg":["Machine.Msg"],"NewUrl":["String"],"Interval":[],"LoadStatus":["StatusTypes.WebStatus"],"UrlChange":["Navigation.Location"],"TransactionMsg":["Transaction.Msg"],"AccountMsg":["Account.Msg"],"PairMsg":["Pair.Msg"]}},"Dict.NColor":{"args":[],"tags":{"BBlack":[],"Red":[],"NBlack":[],"Black":[]}},"ConfigTypes.Machine":{"args":[],"tags":{"MachineId":["String"],"GlobalMachine":[]}},"Machine.Msg":{"args":[],"tags":{"Action":[],"Load":["Machine.Model"],"InputCassette":["MachineTypes.Machine","Machine.Position","String"],"HideSaveIndication":[],"SubmitResetBills":["MachineTypes.Machine"]}},"Machine.Position":{"args":[],"tags":{"Bottom":[],"Top":[]}},"Config.Msg":{"args":[],"tags":{"Focus":["ConfigTypes.FieldLocator"],"BlurSelectize":["ConfigTypes.FieldLocator","Selectize.State"],"Remove":["ConfigTypes.FieldLocator","Selectize.State"],"Load":["Config.WebConfigGroup"],"Input":["ConfigTypes.FieldLocator","String"],"Blur":["ConfigTypes.FieldLocator"],"Add":["ConfigTypes.FieldLocator","String","Selectize.State"],"Submit":[],"SelectizeMsg":["ConfigTypes.FieldLocator","Selectize.State"],"FocusSelectize":["ConfigTypes.FieldLocator","Selectize.State"],"HideSaveIndication":[],"NoOp":[],"CryptoSwitch":["ConfigTypes.Crypto"]}},"TransactionTypes.Tx":{"args":[],"tags":{"CashInTx":["TransactionTypes.CashInTxRec"],"CashOutTx":["TransactionTypes.CashOutTxRec"]}},"FieldSetTypes.FieldPasswordType":{"args":[],"tags":{"PasswordEmpty":[],"PasswordHidden":[],"Password":["String"]}},"ConfigTypes.FieldValidator":{"args":[],"tags":{"FieldRequired":[],"FieldMin":["Int"],"FieldMax":["Int"]}},"Http.Error":{"args":[],"tags":{"BadUrl":["String"],"NetworkError":[],"Timeout":[],"BadStatus":["Http.Response String"],"BadPayload":["String","Http.Response String"]}},"ConfigTypes.FieldValue":{"args":[],"tags":{"FieldIntegerValue":["Int"],"FieldCryptoCurrencyValue":["List String"],"FieldCountryValue":["String"],"FieldFiatCurrencyValue":["String"],"FieldStringValue":["String"],"FieldOnOffValue":["Bool"],"FieldAccountValue":["String"],"FieldLanguageValue":["List String"],"FieldPercentageValue":["Float"]}}},"aliases":{"ConfigTypes.ConfigSchema":{"args":[],"type":"{ code : String , display : String , cryptoScope : ConfigTypes.ConfigScope , machineScope : ConfigTypes.ConfigScope , entries : List ConfigTypes.FieldDescriptor }"},"Machine.Model":{"args":[],"type":"RemoteData.WebData Machine.SubModel"},"Selectize.State":{"args":[],"type":"{ boxPosition : Int, status : Selectize.Status, string : String }"},"TransactionTypes.CashInTxRec":{"args":[],"type":"{ id : String , machineName : String , toAddress : String , cryptoAtoms : Int , cryptoCode : String , fiat : Float , currencyCode : String , txHash : Maybe.Maybe String , phone : Maybe.Maybe String , error : Maybe.Maybe String , created : Date.Date }"},"RemoteData.WebData":{"args":["a"],"type":"RemoteData.RemoteData Http.Error a"},"ConfigTypes.FieldLocator":{"args":[],"type":"{ fieldScope : ConfigTypes.FieldScope , code : String , fieldType : ConfigTypes.FieldType , fieldClass : Maybe.Maybe String }"},"AccountTypes.Account":{"args":[],"type":"{ code : String , display : String , fields : List FieldSetTypes.Field }"},"Http.Response":{"args":["body"],"type":"{ url : String , status : { code : Int, message : String } , headers : Dict.Dict String String , body : body }"},"MachineTypes.Machine":{"args":[],"type":"{ deviceId : String , name : String , cashbox : Int , cassette1 : Int , cassette2 : Int , paired : Bool }"},"StatusTypes.WebStatus":{"args":[],"type":"RemoteData.WebData StatusTypes.StatusRec"},"ConfigTypes.ConfigData":{"args":[],"type":"{ cryptoCurrencies : List ConfigTypes.CryptoDisplay , currencies : List ConfigTypes.DisplayRec , languages : List ConfigTypes.DisplayRec , countries : List ConfigTypes.DisplayRec , accounts : List ConfigTypes.AccountRec , machines : List ConfigTypes.MachineDisplay }"},"Account.Model":{"args":[],"type":"RemoteData.WebData Account.SubModel"},"ConfigTypes.CryptoDisplay":{"args":[],"type":"{ crypto : ConfigTypes.Crypto, display : String }"},"Config.WebConfigGroup":{"args":[],"type":"RemoteData.WebData ConfigTypes.ConfigGroup"},"ConfigTypes.DisplayRec":{"args":[],"type":"{ code : String, display : String }"},"Account.SubModel":{"args":[],"type":"{ status : Account.SavingStatus, account : AccountTypes.Account }"},"ConfigTypes.FieldScope":{"args":[],"type":"{ crypto : ConfigTypes.Crypto, machine : ConfigTypes.Machine }"},"FieldSetTypes.Field":{"args":[],"type":"{ code : String , display : String , required : Bool , value : FieldSetTypes.FieldValue , loadedValue : FieldSetTypes.FieldValue }"},"ConfigTypes.ConfigGroup":{"args":[],"type":"{ schema : ConfigTypes.ConfigSchema , values : List ConfigTypes.Field , selectedCryptos : List String , data : ConfigTypes.ConfigData }"},"ConfigTypes.AccountRec":{"args":[],"type":"{ code : String , display : String , class : String , cryptos : Maybe.Maybe (List ConfigTypes.Crypto) }"},"Transaction.Model":{"args":[],"type":"RemoteData.WebData Transaction.Txs"},"ConfigTypes.Field":{"args":[],"type":"{ fieldLocator : ConfigTypes.FieldLocator , fieldValue : ConfigTypes.FieldValue }"},"Transaction.Txs":{"args":[],"type":"List TransactionTypes.Tx"},"ConfigTypes.MachineDisplay":{"args":[],"type":"{ machine : ConfigTypes.Machine, display : String }"},"Machine.SubModel":{"args":[],"type":"{ status : Machine.SavingStatus, machines : MachineTypes.Machines }"},"StatusTypes.ServerRec":{"args":[],"type":"{ up : Bool , lastPing : Maybe.Maybe String , rates : List StatusTypes.Rate }"},"StatusTypes.Rate":{"args":[],"type":"{ crypto : String, bid : Float, ask : Float }"},"TransactionTypes.CashOutTxRec":{"args":[],"type":"{ id : String , machineName : String , toAddress : String , cryptoAtoms : Int , cryptoCode : String , fiat : Float , currencyCode : String , txHash : Maybe.Maybe String , status : String , dispensed : Bool , notified : Bool , redeemed : Bool , phone : Maybe.Maybe String , error : Maybe.Maybe String , created : Date.Date , confirmed : Bool }"},"MachineTypes.Machines":{"args":[],"type":"List MachineTypes.Machine"},"ConfigTypes.FieldDescriptor":{"args":[],"type":"{ code : String , displayTop : ConfigTypes.DisplayTop , displayBottom : String , displayCount : Maybe.Maybe Int , fieldType : ConfigTypes.FieldType , fieldValidation : List ConfigTypes.FieldValidator , fieldClass : Maybe.Maybe String , fieldEnabledIf : List String }"},"StatusTypes.StatusRec":{"args":[],"type":"{ server : StatusTypes.ServerRec, invalidConfigGroups : List String }"},"Navigation.Location":{"args":[],"type":"{ href : String , host : String , hostname : String , protocol : String , origin : String , port_ : String , pathname : String , search : String , hash : String , username : String , password : String }"}},"message":"CoreTypes.Msg"},"versions":{"elm":"0.18.0"}}); } if (typeof define === "function" && define['amd']) diff --git a/public/styles.css b/public/styles.css index f10bac3e..c647a642 100644 --- a/public/styles.css +++ b/public/styles.css @@ -254,6 +254,8 @@ p { .lamassuAdminConfigTable .lamassuAdminSelectizeContainer .lamassuAdminBoxItem { padding: 3px 6px; + overflow: hidden; + text-overflow: ellipsis; } .lamassuAdminConfigTable .lamassuAdminSelectizeContainer .lamassuAdminInfo {