Skip to content

Instantly share code, notes, and snippets.

@SelrahcD
Last active August 29, 2015 14:07
Show Gist options
  • Save SelrahcD/db08cfe072453e3abfab to your computer and use it in GitHub Desktop.
Save SelrahcD/db08cfe072453e3abfab to your computer and use it in GitHub Desktop.
Clean cotcot

Nettoyage CotCot & Eve

Controllers & Templates

Liste des quotes

Controller

  • Passer sur le ListController de ev-fdm
  • Revoir le système de filtres

Template

  • Enlever le filtre cssify, se servir de ng-class (ou d'un binding, Mathieu dit que cette directive est lente, à tester avec lui), ne pas se baser sur site_id mais sur sur un code iso
  • Ne pas utiliser de fonction du controller dans les binding
  • Ne pas se servir de cleanupDate

Détail d'une quote

Controller

  • Ne pas injecter i18n. Le gérer en front avec les filtres
  • Ne pas gérer les différents textes liés au status. (Créer un filtre capable de changer un texte en fonction de la valeur d'entrée ?)
  • Supprimer le watch sur $state.params. Si nécessaire écouter les events de routing
  • Simplifier seeCommunication en utilisant le pouvoir de ui-router $state.go
  • Supprimer les dépendances inutilisées
  • Supprimer getUserName
  • Supprimer les écoutes sur les events liés aux panels. Passer par $state si nécessaire.
  • Supprimer saveQuoteComment
  • Supprimer autoSaveQuoteComment
  • Modifier markAsHandled.
  • Supprimer setMessageState
  • Supprimer setIsNewFlag. IsNew doit être calculé dans le back
  • Supprimer onFetchQuoteSuccess et toutes les méthodes liées.

Infos d'une quote

Controller

  • Supprimer boolToText
  • Supprimer getValue
  • Supprimer validate. Se servir des capacités d'angular pour la gestion de form
  • Supprimer la dépendance à i18n
  • Supprimer la liste des choix des selects. Ça peut aller dans le template

Nouveau message

Controller

  • Il doit y avoir moyen de virer du code mais là comme ça...

Devis

Controllers

Le code est séparé en plusieurs controllers pour les sous panels, toutes les infos sont regroupées ici

  • Supprimer le fonctionnement de l'auto save, utiliser ngChange et le throttle
  • Simplifier la fonction attach ?
  • Supprimer les dépendances non necessaires
  • Supprimer evTextareaOptions ?
  • Supprimer les watch sur proposal.arrivalDate et proposal.departureDate, utiliser ngChange
  • Revoir le fonctionnement de addCoverPicture. (Je comprends pas bien ce que ça fait et, surtout, il y a un timeout)
  • Supprimer display
  • Supprimer le watchCollection sur proposal.itinerary ? ngChange si possible
  • Voir si on peut se debarasser du timeout pour le déplacement du scroll vers la nouvelle accomodation.
  • Idem pour addNewStep
  • Rebosser sur et utiliser la directive evFocusOnShow
  • Supprimer canShowAccomodation
  • Supprimer hasAccomodation
  • Supprimer getLastDayNumber ?
  • Gerer le comportement de suppression d'une step dans le controller principal et non dans QuoteProposalStepDeleteController (un pas de plus vers une comfirmBox, logique au même endroit, objet moins partagé)
  • Price, on passe sur la directive de focus
  • Supression du watch sur proposal.currency.rate

Template

  • Ne pas entourer les inputs de balise de titre

Storages

ItineraryStorage

  • Revoir le fonctionnement du getAll bloquant à 4 pages.
  • getByItinreraryId doit prendre les embeds en parametres et ne pas les forcer (ou utiliser les defaults embed du restangularStorage)
  • idem getAll

MessageStorage

  • Supprimer l'elementTransformer pour les attachements. L'API devrait rendre un embed sans faire paraître la liaison n-m

ProposalStorage

  • Ne pas se leurrer, y aller franco, ctrl + a, suppr. On a eu plein de soucis dessus, on maîtrisait pas setParentless, on peut sans doute faire beaucoup mieux maintenant.

Quote

  • Supprimer les fonctions en lecture

QuoteInfoStorage

Sa refacto depend beacoup de la remise en question du model

  • Utiliser un elementTransformer plutôt que parseQuoteInfo

QuoteStorage

  • Ne pas forcer les embeds, utiliser les defaults embeds de restangular storage s'il faut
  • Se servir d'un elementTransformer si la construction des listes des travelledQuotes vs currentQuotes est necessaire(je pense qu'on peut s'en tirer avec un filter dans la vue plutôt)
  • Clean de fetchQuoteList, ou suppression après nettoyage des filtres de cotcot list.

ShortMessageStorage

  • Regrouper avec MessageStorage (voir remarque au niveau du ShortMessageTransformer)

Filters

siteComputerNameToDisplay

  • Supprimer, go back

ArrivalDate

  • Supprimer, sert à rien apriori

tooltipFromWarningList

Candidat pour un filtre plus général fonctionnant comme ngPluralize

  • Ne pas se baser sur un entier mais sur une string, modification transformer.

tooltipFromWarning

Candidat pour un filtre plus général fonctionnant comme ngPluralize

  • Ne pas se baser sur un entier mais sur une string, modification transformer.

tooltipFromStateFull

Candidat pour un filtre plus général fonctionnant comme ngPluralize

tooltipFromState

Candidat pour un filtre plus général fonctionnant comme ngPluralize. Voir combien de fois et à combien d'endroit il est utilisé

tooltipFromHandledState

Candidat pour un filtre plus général fonctionnant comme ngPluralize

stateNameFromId

Candidat pour un filtre plus général fonctionnant comme ngPluralize

  • Ne pas se baser sur un entier mais sur une string, modification transformer.

onelineProposal

  • A minima revoir comment fonctionne la trad. Au mieux s'en débarrasser.

nameFilters

  • Pas besoin si les transformers sont changés

MaxLenghtFilter

  • Voir si ça n'existe pas ailleurs. Gestion i18n ( ahah, lol, mdr). Et go ev-fdm

iconFromFilename

  • go ev-fdm

API

User vs LocalAgent

  • Fusionner les deux en sortie ?

Unification des filtres et des embeds

On a du agent, du localAgent, etc... les filtres et les propriétés doivent concorder.

AbstractTransformer

  • Ajouter une méthode pour caster des types numériques vers des chaines de caractères
  • Ajouter une méthode de cast des formats de anciens formats de date vers iso8601

SiteTransformer

  • Afficher un code iso pour la langue parlée
  • Afficher un code iso pour le drapeau associé
  • Avoir un nom autre que le computerName (Evaneos_fr => Evaneos.com)

QuoteTransformer

  • Avoir un fullName ou un displayName
  • Enlever name ou travellerName
  • Se servir d'une méthode cast pour phone
  • Transformer les dates en iso8601
  • CamelCase pour les propriétés

CotCotTransformer

  • Avoir un fullName ou un displayName
  • Supprimer le doublon sur id
  • State sous forme de chaine de caractère
  • Caster is_new en booléen
  • LastMessage en embed à la place lastMessageId ?
  • Site en embed à la place de siteId ? ou a minima un iso.
  • Transformer les dates en iso8601
  • Savoir ce que veut dire warning, changer de nom ?

ShortMessageTransformer

Nous avons deux transformers liés aux messages, attention à ce qu'ils ne divergent pas. Peut-être faut il n'en avoir qu'un et gérer avec un embed ce qui est coûteux dans le MessageTransformer ?

  • camelCase
  • isOpen en booléen
  • type en string
  • supprimer useFromId ?
  • Trouver un autre nom pour warning ?
  • quote en embed ?
  • isPrefilled devrait se servir du helper pour les booléens
  • userFrom => sender
  • quoteNewState en string
  • Trouver un autre nom pour future_send ?
  • Les méthodes isMessageFutureSend et isMessageWarning sont du métier et devraient être dans Message
  • Applatir l'embed attachements

General

Supprimer cleanUpDate de Cotcot

On ne peut pas supprimer le filtre entièrement car il sert dans d'autres applications appelant les services XHR

  • Se servir du filtre date dans tout Cotcot
  • Modifier les formats de dates incorrects dans l'API pour avoir du iso8601 avec le helper dans AbstractTransformer

Ev-fdm

RestangularStorage

  • la méthode save n'a pas l'air de fonctionner. des undefined en cas d'update.
  • Ajouter une méthode getAll capable d'appeler la liste de manière récursive. C'est dangereux mais il semble qu'il y ai un besoin vu que cela a été implémenté plusieurs fois. Ou réflexion sur l'ergo à base d'infinite scroll, de voir plus, ou de select.

ConfirmBox

  • Spécifier le comportement
    • Action à faire avant / après la fermeture ?
    • Taille du texte
  • Le faire !

evFocusOnShow

  • Terminer la directive, merger avec la directive de focus actuel

ListController

  • Le système de filtre étant toujours lié à celui de la liste il faudrait sans doute merger les deux controllers. Cela permettrait également de simplifier l'écriture du template et du routing associé. ??

NgModel

  • EvPictureList
  • EvPictureButtonUpload
  • Activable
  • Selectable
  • proAttachement
  • proAddTagPlaceList
  • evSelectLanguage
  • TagList
@Keirua
Copy link

Keirua commented Oct 14, 2014

Viré le cssify. Par contre Trop chiant d'intégrer les codes iso2 et ya plein d'autres trucs à faire

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment