Hello Eric,

about 1)
I guess there is a grammer it should be dateplanner/week without the 
trailing slash.

about 2)
So you would create extra states for the week/firstDayOfWeek and day/today 
routes?

Would it make sense to you to execute a state.go('state', routeData); in 
the planner/day and planner/week state to the week/firstDayOfWeek and 
day/today state so I use both 'pre-states' and their controller / resolve 
property to do the state.go there to the real state with the full url?

could that work? 

about 3) emberJS has the feature I 
want! 
http://emberjs.com/guides/routing/redirection/#toc_before-the-model-is-known

Its a hook called beforeModel something I would need for angularjs... I do 
not want to learn that 1,6 MB monster and everyone goes with angular ;-)





On Sunday, August 3, 2014 11:13:19 PM UTC+2, Eric Eslinger wrote:
>
> Couple things: 
>
> 1) There's definitely weirdness when dealing with trailing-slash URLs. 
> dateplanner/week/ would be routed by ui-router to anything like 
> dateplanner/week/:id instead of dateplanner/week, and I've run into issues 
> with stuff like that. In routes that end in a :id that I mean to route to 
> backend stuff, I tend to do validations on $stateParams (is a number, etc), 
> mainly because users who type in the wrong stuff direct to the URL bar or 
> click on a badly-formed link should get a gentle "hey, watch out" page with 
> help and bug-report links rather than a page that's misformed because I'm 
> trying to load profiles/NaN off my back end REST server.
>
> 2) I'd consider making a week/current and day/today route. If you put them 
> in there (I think earlier than the wildcard'd routes, I don't actually know 
> how ui-router handles fall-throughs and route matching rules), you can just 
> use special-case controllers for current and today.
>
> I do something similar to (2) with user-profile stuff. So /profiles/123 
> goes to profiles number 123, but the controller on /profiles/me just says 
> something _like_:
>
> function profilesMeController($scope, $state) {
>   $state.go("profiles.detail({profileId: 
> "+$scope.currentUser.profileId+"})");
> }
>
> Which will redirect to the appropriate profiles/:id route. You could do 
> something similar - in the today controller, calculate the appropriate 
> params and issue a $state.go.
>
> You could probably attach this behavior to dateplanner/week directly 
> instead of defining it as abstract. 
>
> Orrr, you could do a $rootScope.$on('$stateChangeStart'), and cancel a 
> state change to your today routes and re-emit the same thing on as I 
> suggested above. I'm not wild about this approach personally, mainly 
> because I like to have all the calls that would influence routing decisions 
> made in the appropriate config block, instead of attached to $rootScope 
> with listeners.
>
> Hope this helps
>
> e
>
>
> On Sun, Aug 3, 2014 at 1:38 PM, bastienneJS <[email protected] 
> <javascript:>> wrote:
>
>> I have searched this forum, google and Stackoverflow, built sites with 
>> angularjs, github etc...
>>
>> There are no samples or helpful material to fullfil my requirements.
>>
>> That is my plunker: http://plnkr.co/edit/GMfMcXgHguYjFYoxWEaM?p=preview
>>
>> I like angularJS so far but the 'ui router' module seems really a 
>> limitation for what I need or I do it totally wrong.
>>
>> If you look at the plunker there is a planner button with 3 views 
>> day/week/month.
>>
>> For all 3 states day/week/month I would like to have these 3 url`s in the 
>> browser url bar e.g.:
>>
>> /#/projects/1/dateplanner/day/"CurrentDate"
>> /#/projects/2/dateplanner/week/"FirstDayOfWeek"
>> /#/projects/3/dateplanner/month/7
>>
>> At the moment I have "hacked" the day url but there are still many "day 
>> state" scenarios where the passed current date gets lost from the url e.g.
>>
>> - switching between "date planner" and "document browser" button the url 
>> is then /#/projects/43/dateplanner/day/-- (current date is missing)
>>   even worse is that my day "hack" has introduced a bad behavior that is 
>> the day controller shows the alert('daily') TWO times ?!
>> - Manipulating the day states date in the url bar , I am still unsure 
>> wether I should go in direction stateChangeStart on rootscope
>> - When I switch from the week/month state away by pressing the day button 
>> there is again the current date missing in the 
>> url #/projects/43/dateplanner/day/--
>>
>> The same bugs are in the week/month state where I get only these urls:
>>
>> /#/projects/2/dateplanner/week/
>> /#/projects/3/dateplanner/month
>>
>> That means there are at least 3 cases where the url can get wrong for all 
>> 3 states.
>>
>> All the ui router samples I have found are super simple... have as always 
>> nothing to do with real life requirements so I ask you guys here on the 
>> forum.
>>
>> 1.) What is the recommended approach to get the 3 cases done correctly 
>> with the ui-router?
>> 2.) Is there any hook mechanism that allows my to write my 
>> FirstDayOfWeek, month number etc... into the $state/$stateparams before the 
>> state is activated/accepted because all parameters in the url match to a 
>> state?
>>
>>
>>
>>
>>
>>
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "AngularJS" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/angular.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to