Comments (17)
@kentcdodds what browser support are you looking for? If you want < IE9 then we should probably use jQuery, would that be acceptable? If IE9 and up then we might be able to do it without.
from genie.
Good point. What do you think? I reeeally don't want to bring in jQuery... I've toyed with the idea of having a jquery plugin, but I'd really like to just have a plain JavaScript implementation, that way people can just pull it in and not worry about dependencies.
Anyway, do you think we could do this by implementing only the methods we need and still support IE 8? I know that there are a lot of people out there who have to support IE 8 so I'd like to do that if we can.
from genie.
We can certainly try it! It does seem kind of silly to kill angular only to bring in jQuery.
from genie.
Sounds good. I'm thinking that I want to create a separate repo for this effort because the ux-genie
module is in a separate repo. Though I've thought about bringing it into the same repo just in another folder (did that with the workshop a few days ago). It's nice to keep everything using the same version of genie just using symbolic links to the dist.
What do you think? Would it be better to keep all genie stuff in one repo or separate it? Now I'm starting to think there are more benefits with bringing all genie stuff into one repo than there is to separate it...
from genie.
Umm... That's a good question. The tricky thing is updates; you don't want to end up having to update three different repos every time you add a new feature. So you definitely don't want to just clone this to another repo, but I could see splitting it into GenieJS
and AngularGenie
(names just for example
from genie.
I'm not certain I see the value in separating out the angular stuff though. Can you think of any issues off the top of your head with just keeping it in the same repository just under another folder? Perhaps with this kind of file structure:
- genie
- dist (basically a copy of src with minified stuff as well)
- src
- genie.js
- lamps
- pure-javascript
- angular-js
- dojo (someone wants to build a dojo version)
- jquery
I'm not sure I see the value of a jquery plugin unless it simply wrapped the pure-js version and had a few niceties with working with jquery and I don't know anything about dojo but I imagine it could be similar.
One issue I have with this though is with the angular-js implementation, it not only has the lamp, but also the genie-wish
directive which simply helps in the registration of wishes, so the term lamps
for the directory name may not be appropriate. What do you think?
from genie.
Yup, that looks good! I like it. I see your point with the lamps directory, but I don't think that's really a huge issue. Even though the genie-wish
directive isn't part of the lamp, it's still a convenience to control the lamp, right? If so I think it makes sense in there.
We'll have to discuss how different the vanilla version is going to be, though. Obviously JS doesn't have two-way binding out of the box, so we'll have to discuss how much of Angular we'll try to emulate, and how much will just be different due to the nature of the beast.
from genie.
Perhaps we could say "Hey, the genie has tools in that lamp of his, in the angular lamp, he's got this sweet directive you can use." I think that'll fly. Give me a second to move things around and bring in the ux-genie library. I think I'm going to simply deprecate ux-genie on bower and everything will come in from simply geniejs
on bower and npm. This feels like it's going to be nice, but I have this thing in the back of my head that says I may regret doing this one day. Haha. Who knows. I'll let you know when things have been moved and we can start on the vanilla stuff.
As far as what we're going to try to emulate, I say we just ignore what's possible with angular's version and think about what would be a nice api to work with from a developer's perspective. Make sure that it's featured enough to allow for most use cases.
from genie.
I don't know about Bower, but the nice thing about Git is that you can always go back.
That's exactly what I wanted to hear.
from genie.
Awesome. I'm almost finished organizing and fixing the build. I'm about to get on my flight home so hopefully I'll get it up before I get on! :-)
from genie.
Cool. Well in any case, have a good flight home!
from genie.
Thanks @tjacobdesign! The changes are pushed. Hopefully it's intuitive what I'm doing. You have two files one for the library, one for the test. You'll need to add the script tags to the testrunner.html and then you can run grunt mocha.
Note, I started this about a year ago when I was just learning grunt and testing. Please feel free to make improvements. I do have a karma.conf.js
but it doesn't work and it's not totally setup. Feel free to set that up if you like. Thanks so much for your help!
from genie.
No worries, I have my fair share of old code too. :) Looks great! I'll see what I can do.
from genie.
Hey guys, I know it's almost a year later, but is there anything, even unfinished code lying around? It's just way too sad that one can pretty much only use genie if going Angular. I honestly don't understand how something that awesome only has 220 stars (of today). If there was anything you started vanilla/jQuery like, just drop it in some secret branch or so, would appreciate it!
from genie.
@tom2strobl yup, as you can see, I started on it months ago. I've got a fork right here: https://github.com/tjacobdesign/genie
I got the basic structure and functionality working in VanillaJS, just ran out of time to get all the details right (not to mention testing). I might have a little more work done locally on my home computer, I'll check tonight and push if I have anything of consequence.
from genie.
Thanks for your interest in the project @tom2strobl! I'm not currently using this library, but I would like to get into it again, so let me know if you need any help.
from genie.
Thanks guys, again – I'm very surprised that genie is kind of a hidden secret in the github universe. I'm using it as part of a Meteor.js app and now made a quick "custom lamp" by abusing sergext/meteor-typeahead, but it's not really something worthy of a PR because it's basically just glueing those two things together without any magic. In the unlikely case someone else finds himself in the same situation, here's a gist how I did it: tom2strobl/427205db64360c1f916f
Keep up the good work @kentcdodds and @tjacobdesign!
from genie.
Related Issues (20)
- This is a test
- Feature This is a test again
- Feature {{title}}
- Feature {{title}}
- ' is eaten by Firefox UI HOT 2
- Make dojo version of the lamp HOT 3
- Ember Lamp
- Dojo Lamp
- React Lamp HOT 2
- Improve a11y HOT 1
- allow only exact word to search in genie HOT 1
- AngularJS not in bower package? HOT 5
- Angular Lamp customise template HOT 1
- Adding a context with same name not empty after being removed before HOT 1
- Can you add safari extension like what chrome has? HOT 3
- is there a react/redux example that you might know of? HOT 7
- Add dom element event triggers as actions HOT 1
- Improve the docs
- Allow users to define custom keyboard shortcuts HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from genie.