Semantic-Org / Semantic-UI-Angular

Semantic UI Angular Integrations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About this project

cooljith91112 opened this issue · comments

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?

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

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

kool!

Any news?

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
#8 (comment)
.

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!

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) ?

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

Awesome! Many thanks!

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/

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

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

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
#8 (comment)
.

@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.

@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.

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

@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

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.

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

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.

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.

commented

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.

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 =)

Do we still need this issue being open?

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

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.

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.

@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.

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

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