2015-08-22 2 views
1

J'ai besoin de donner à un groupe d'utilisateurs expérimentés un moyen de créer et de sauvegarder une formule mathématique qui sera ensuite exécutée dans le cadre d'une routine d'extraction de panier. Je dois supposer que les utilisations de puissance ne sont pas des programmeurs mais peuvent suivre des instructions simples. Les formules ne changeront pas souvent mais doivent être sous le contrôle des utilisateurs expérimentés, pas des administrateurs système ou des programmeurs. Une interface utilisateur en langage visuel semble correspondre à ce type d'exigence, un environnement auquel un utilisateur expérimenté peut se rapporter pour générer du code JavaScript que la routine d'extraction pourra évaluer (myFormula).Google Blockly et AngularJS

myFormula par exemple:

Dans ces frais d'exemple est spécifié quelque chose comme ... input type = « nombre » ng modèle = « frais » et serait entré brut au moment du départ (excluant une fonction de test avant d'enregistrer la formule).

... puis dans une zone de texte séparé la formule ressemblerait à quelque chose comme ce qui suit (où je suppose des frais a été enregistrée à 0,05.

var youPay = SI brut> 1000 * frais QUE brut AUTRE 50

le résultat youPay sera affiché à la personne de vérifier. Dans cet exemple, si le brut est moins que 1000 $ montant de base de 50 $ s'appliquerait par ailleurs ils paieraient cinq pour cent du

brute quelqu'un at-il commentaires sur le projet Google Blockly ou d'autres solutions qui pourraient aider? Peut-être un Excel à Java Générateur de code de script où la formule Excel pourrait être testée avant d'enregistrer dans mon application.

Et puis il y aura une autre couche de cette solution qui devra assurer que la formule ne crée pas de problèmes de sécurité ou d'introduire des bogues qui pourraient se bloquer l'application de check-out.

+0

Avez-vous eu de la chance en intégrant Blockly et Angular? – Jodes

+0

Oui, j'ai réussi à l'intégrer et à travailler jusqu'à un certain point, mais à la fin de mon application, j'ai abandonné l'effort après l'avoir montré à quelques utilisateurs. Comme il s'est avéré que la petite quantité de javaScript dont j'avais besoin était plus facile à évaluer() à partir d'une chaîne. Ce qui a vraiment changé d'avis, c'est que quelqu'un a dit: «Est-ce que vous vous attendez vraiment à ce que les utilisateurs apprennent cela (en parlant de Blockly) ... pourquoi ne pas leur permettre d'écrire en JavaScript? Après un jour ou deux de considération, je me suis installé sur JavaScript et j'ai écrit quelques instructions qui ont fini par envoyer un email au support informatique avec des questions. Cela a fonctionné! sourire –

+0

C'est une solution! Je l'ai fait quelques lectures et doutant de AngularJS (plutôt que Blockley), Google « inconvénients » de AngularJS - lenteur, inflexibilité.Mais quelqu'un a réussi à les combiner néanmoins - http://blog.chrisbriggsy.com/First-Angular-Hack-Day-Melbourne/ – Jodes

Répondre

2

cela ressemble à une bonne application pour le cadre de blocage. Une formule comme celle que vous avez fournie peut être créée avec la démo de code bloquée au https://blockly-demo.appspot.com/static/demos/code/index.html que vous pouvez utiliser comme point de départ pour lancer votre projet. Sans autre modification, il ressemblerait à ceci: http://i.stack.imgur.com/AXOJy.png (je n'ai pas assez de réputation pour incorporer des images dans le postage)

Ce que vous auriez à faire est de dire des blocs sur vos variables prédéfinies afin que l'utilisateur puisse choisir les dans la liste déroulante et ajoutez quelque chose comme un bouton de sauvegarde pour générer le code et l'enregistrer quelque part. Peut-être y a-t-il des modifications nécessaires dans la façon dont Blockly génère du javascript parce qu'il est vraiment conçu pour générer des scripts petits mais complets contrairement à votre besoin de générer juste une petite partie d'un script plus grand. Mais les modifications apportées aux générateurs de code sont assez faciles en bloc.

espérons que cela aide un peu.

+0

Oui, j'en ai assez appris sur Blockly pour être complètement d'accord avec vous, ce sera l'outil parfait une fois que je découvrirai comment l'intégrer dans AngularJS. De plus, les variables prédéfinies sont le chemin à suivre car elles me donneraient un point de départ et d'arrêt que je pourrais enlever dans le générateur. Stocker l'extrait de code dépouillé dans l'espace de noms ng-model est sur ma tête, mais un de mes amis a offert de m'aider avec elle et en sait beaucoup plus que moi sur AngularJS. Il est une sorte de gourou .. :-) Si je le fais fonctionner, je poste un exemple. –

+0

Je serais vraiment intéressé de voir quelques exemples en utilisant angulaire :) – Tinly