Semantic-Org / Semantic-UI-Angular

Semantic UI Angular Integrations
MIT License
557 stars 117 forks source link

About this project #8

Closed cooljith91112 closed 9 years ago

cooljith91112 commented 9 years ago

Will this ever release? Because there are many developers(you can't imagine how much! Some includes Aliens too...) waiting to see Semantic UI in Angular JS. If so when can we expect the first release?

caitp commented 9 years ago

@m0t0r owns this now, but he's probably busy with work. It would probably speed things up if other contributors started submitting pieces

m0t0r commented 9 years ago

I am back after Feb. 15. It will be released!

cooljith91112 commented 9 years ago

kool!

samrad commented 9 years ago

Any news?

Semantic-Pusher-Robot commented 9 years ago

We need more contributors to step up.

On Tue, Feb 17, 2015 at 2:29 PM, Sam Rad notifications@github.com wrote:

Any news?

— Reply to this email directly or view it on GitHub https://github.com/Semantic-Org/Semantic-UI-Angular/issues/8#issuecomment-74735066 .

m0t0r commented 9 years ago

Hi. I am currently alone in this project and taking into account that I am not dedicated full time to this project but rather on free time which is pretty often catastrophically insufficient. It would be _just terrific_ to get any support from the community!

speedingdeer commented 9 years ago

Hi. I like your job! I would like to start trying to contribute to the project. Should I start from this repository or the old one (https://github.com/caitp/angular-semantic) ?

caitp commented 9 years ago

You should start from this one. I'm happy to review patches, so don't hesitate to ping me if you've got something =]

speedingdeer commented 9 years ago

Awesome! Many thanks!

Xample commented 9 years ago

Is there a roadmap somewhere ? Trello ? A good idea would be to have a first version covering at least the same features as https://angular-ui.github.io/bootstrap/

caitp commented 9 years ago

@Xample there isn't currently, would you be interested in owning that?

Darkeye9 commented 9 years ago

I am very interested in collaborating. I've using Semantic + Angular for some months, and I'd have loved to have something like this.

Semantic-Pusher-Robot commented 9 years ago

Plenty of room to take leadership if you are interested.

Not much has happened on angular integration since 1.0 launched.

On Wed, Apr 8, 2015 at 4:31 PM, ⭐caitp⭐ notifications@github.com wrote:

there isn't currently, would you be interested in owning that?

— Reply to this email directly or view it on GitHub https://github.com/Semantic-Org/Semantic-UI-Angular/issues/8#issuecomment-91028525 .

Xample commented 9 years ago

@caitp it is interresting but I really do not have the ressources yet to do so, at least not at as a leading position. What is Semantic-UI-Angular expecting to build ? A directive based framework or replacing jQuery with angular ? @Darkeye9 how are you using semantic-ui ? There is definitely a lot of interest for the project, + 400 stars if we count the former version one.

Darkeye9 commented 9 years ago

@Xample I am writing the templates in HTML and including the Semantic stuff by hand, I ussually add some logic to Semantic using ng-class or ng-if attributes from Angular. For the JS components Im calling the Semantic constructors in the Angular controllers.

Where I have done the most hard work is at integrating the forms validation into Angular, by following some of the advices exposed here. But it needed some tinkering nevertheless.

If you are interested in seeing some of my results, I can email you the Dev. Server URL, as I dont want to disclosure it to the broad public.

ethansure commented 9 years ago

I like Semantic-ui!! I hope can contribute to this project.

caitp commented 9 years ago

@ethansure you absolutely can and should contribute. I'm a bit preoccupied with other projects atm, but I'm happy to review code and offer some guidance if needed. It would be great if some volunteers took up a strong roll in driving the project forward

grbsk commented 9 years ago

I would like to dig into this. I think there needs to be a discussion about goals, scope, development guidelines, and some of the housekeeping stuff (organization, namespacing, conventions, etc.) because that stuff is harder to change once people start slamming in commits. If nothing else, I think we should borrow heavily from, or at least use as the baseline, ui-bootstrap because they've already established a decent working project.

jlukic commented 9 years ago

Anything you guys need to help organize, let me know. Perhaps start with gitter?

caitp commented 9 years ago

I think there needs to be a discussion about goals, scope, development guidelines, and some of the housekeeping stuff (organization, namespacing, conventions, etc.)

Personal opinion, but whoever is able to take more time on this is welcome to disagree:

  1. scope: strong primitives which enable developers to build good looking, functional, accessible applications with ease. This means, provide good fundamentals, and make sure those fundamentals are easy to use, and accessible by default. More interesting stuff built ontop of those fundamentals are allowed also, but start with the fundamentals (form controls, layout/navigation helpers (like modal windows, tab controls, whatever you like), etc).
  2. development guidelines. this is mostly covered above, aim for accessibility, performance, and extensibility. Some more general API guidelines, prefer dictionaries of options to lists of formal parameters (it's easier on everyone). Try to avoid duplicated code as much as possible. Try to keep "hot" internal methods monomorphic, so that VMs can do a better job of optimizing them --- but avoid premature optimizations, always measure. This is basically the same general stuff you'd tell anybody on any software project, so hopefully none of it is too surprising.
  3. housekeeping stuff. There are some things that we probably want here. @jlukic can talk about their CLA strategy, if any --- other devops-y stuff like release schedules, code reviews, ownership, etc, should be discussed on gitter or irc, generally.
  4. organization. I mean, whatever makes sense --- since @m0t0r has already gotten started with this, it's fine to follow his lead. If it gets too crazy in a few months, don't hesitate to re-org, just make sure other contributors are on the same page, so that you don't step on anyones feet.
  5. namespacing. I'm not too keen on "namespacing", but I think @m0t0r has started prefixing things with "sm" (is that right?) --- whatever you want to do is fine, just try to be consistent.
  6. conventions. In terms of code style, my preferences are: linewrap at 100 cols, no single-letter variable names, concise but descriptive method names, 2 space indentation, no space bettwen "function" and "(" or function-name and "(", space before left-braces and all other left-parentheses, single-statement blocks (like if (foo) return bar;) are okay if the single statement is a return statement, otherwise always put them in braces (embrace them!) --- space before and after all binary operators, space before and after conditional ? and :, no space to the left of : for labels or property names... I think most of these rules are covered in some of the default jscs configs, but ymmv. If people have their own preferred styles, can certainly absorb some of it in, just try to keep the project consistent. clang-format is a big help, but might be too much to ask most people to do.

In terms of API conventions, I think a lot of this is covered above. If you're not sure about something in particular, don't hesitate to ask.

I think that covered all of those --- the answer is basically "whatever, but here's what I like", so for sure everyone interested is welcome to chime in and provide their own opinions.

m0t0r commented 9 years ago

Hi! @caitp made a good overview. What I can add is the project already has .jscsrc with established conventions based on the one from angularjs. Yes, I started prefixing directives with sm, that is correct. @HackedByChinese mentioned about module naming. Well, particularly about .elements part I can tell that I took it from Semantic-UI itself, as they have a few categories such as: Elements, Collections, Views, etc. So I thought to be closer to the framework way. But we can discuss on this, absolutely.

As an additon, I try to keep angular material project as a baseline for this project, with all respect to ui-bootstrap project. But everything is open for discussion.

mdgs commented 9 years ago

Hi, I like the way semantic ui works and love to use the integrated version with angular. I want to contribute some code in this project if possible.

caitp commented 9 years ago

Hi @mdgs, it's totally possible, and you can totally do it, and we will even review it, check it in, and publish it on npm and bower. By all means, contribute =)

m0t0r commented 9 years ago

Do we still need this issue being open?

stevenkampen commented 9 years ago

Maybe handy until the information in it is represented in the readme.

RomainLanz commented 9 years ago

Dear everyone,

I think that you should create a CONTRIBUTING.md file and put all of your guideline on it for all new contributors.

You can take a look at Contributing Guidelines from Github blog.

AddoSolutions commented 9 years ago

For those that are interested, why not just start with something like this and then build on it?


  $.each($.site.settings.modules, function(index, module){

    var fn = $.fn[module];
    //var options = $.fn[module].settings;

    if(module == 'form' || module == 'api' || module == "state" || module=='visibility'){
      var name = 'se' + module.charAt(0).toUpperCase() + module.substring(1);
    }else{
      var name = module;//'se' + _(module).ucfirst();
    }

    app.directive(name, function() {
      return {
        restrict: 'AC',
        //require: 'ngModel',
        seModule: {
          'name': module,
          'fn': fn
          //'options': options
        },
        scope: {
          options: '&',
          ngModel: '='
        },
        controller: ['$scope', '$http', function($scope, $http) {

          //$scope.getTemp = function(city) {}

        }],
        link: function(scope, iElement, iAttrs, ctrl) {

          if(!scope.options){
            scope.options = {};
          }

          scope.options.directive = scope;

          scope.options.onChange = function(value, text){
            scope.ngModel=value;
            if(!scope.$$phase) scope.$apply();
          }

          $(iElement)[module](_.clone(scope.options));

        }
      }
    });

  })

This gives us full access to ALL of the modules in semantic as well as full access to all of the options. As we develop, we can create more advanced templates, but this is at least a good start.

m0t0r commented 9 years ago

@AddoSolutions thank you for your contribution, we may think about similar solution later on. NOTE: Use of

if(!scope.$$phase) scope.$apply();

is a known old anti-pattern. Don't use such things in your code.


Thank you everyone who contributed to this issue but I am closing it as it gets similar to a garbage bin. If you have any questions/problems/suggestions/ideas create a new issue or PR.

AddoSolutions commented 9 years ago

@m0t0r Indeed, that was some ghetto code. Curious though, how I would get the scope.$apply() higher in the call stack?

sheyooo commented 8 years ago

I think waiting or writing for angular 2 instead, wont be a waste of effort