[★] Serving up the require.js stuff properly, now getting transactions.
This commit is contained in:
		
							parent
							
								
									1c89e0bc2d
								
							
						
					
					
						commit
						07ae886569
					
				
							
								
								
									
										12
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										12
									
								
								Makefile
								
								
								
								
							|  | @ -1,4 +1,12 @@ | ||||||
| all: static/index.html static/index.js static/officehours.js | SOURCES = source/*.coffee source/*.haml main.hy | ||||||
|  | 
 | ||||||
|  | all: static/index.html static/index.js static/officehours.js main.py | ||||||
|  | 
 | ||||||
|  | # Needed because Flask's "debugger" setting doesn't grok
 | ||||||
|  | # Hy directly.  Nuisance!
 | ||||||
|  | 
 | ||||||
|  | main.py: | ||||||
|  | 	hy2py main.hy > main.py | ||||||
| 
 | 
 | ||||||
| static/%.html: source/%.haml | static/%.html: source/%.haml | ||||||
| 	haml --unix-newlines --no-escape-attrs --double-quote-attributes $< > $@ | 	haml --unix-newlines --no-escape-attrs --double-quote-attributes $< > $@ | ||||||
|  | @ -9,4 +17,6 @@ static/%.js: source/%.coffee | ||||||
| clean: | clean: | ||||||
| 	rm static/*.html static/*.js | 	rm static/*.html static/*.js | ||||||
| 
 | 
 | ||||||
|  | watch: | ||||||
|  | 	while inotifywait $(SOURCES); do clear ; make all ; done | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										27
									
								
								main.hy
								
								
								
								
							
							
						
						
									
										27
									
								
								main.hy
								
								
								
								
							|  | @ -26,9 +26,30 @@ | ||||||
|     (send-from-directory "static" "index.html"))) |     (send-from-directory "static" "index.html"))) | ||||||
| 
 | 
 | ||||||
| (with-decorator | (with-decorator | ||||||
|   (.route app "/oh/hours/<start:start>") |   (.route app "/index.js") | ||||||
|   (print start) |   (defn index [] | ||||||
|   (jsonify { start: start })) |     (send-from-directory "static" "index.js"))) | ||||||
|  | 
 | ||||||
|  | (with-decorator | ||||||
|  |   (.route app "/officehours.js") | ||||||
|  |   (defn officehours [] | ||||||
|  |     (send-from-directory "static" "officehours.js"))) | ||||||
|  | 
 | ||||||
|  | (with-decorator | ||||||
|  |   (.route app "/lib/<path:path>") | ||||||
|  |   (defn lib [path] | ||||||
|  |     (send-from-directory "static/lib" path))) | ||||||
|  | 
 | ||||||
|  | (with-decorator | ||||||
|  |   (.route app "/oh/hours/<path:start>") | ||||||
|  |   (defn defhours [start] | ||||||
|  |     (jsonify { "start" start }))) | ||||||
|  | 
 | ||||||
|  | (with-decorator | ||||||
|  |   (.route app "/oh/hours/<path:start>") | ||||||
|  |   (defn hours [start] | ||||||
|  |     (print start) | ||||||
|  |     (jsonify { "start" start }))) | ||||||
| 
 | 
 | ||||||
| ;(with-decorator  | ;(with-decorator  | ||||||
| ;  (.route app "/")  | ;  (.route app "/")  | ||||||
|  |  | ||||||
|  | @ -4,9 +4,12 @@ require.config | ||||||
|         'jquery': './lib/jquery.min' |         'jquery': './lib/jquery.min' | ||||||
|         'backbone': './lib/backbone-min' |         'backbone': './lib/backbone-min' | ||||||
|         'json2': './lib/json2' |         'json2': './lib/json2' | ||||||
|  |         'domReady': './lib/domReady' | ||||||
|     shim: |     shim: | ||||||
|  |         json2: | ||||||
|  |           exports: 'JSON' | ||||||
|         'backbone': ['json2'] |         'backbone': ['json2'] | ||||||
| 
 | 
 | ||||||
| require ['backbone', 'json2'], () -> | require ['backbone', 'json2'], () -> | ||||||
|     require ['officehours'], (start) -> |     require ['officehours', 'domReady'], (start, ready) -> | ||||||
|       $(start) |       ready(start) | ||||||
|  |  | ||||||
|  | @ -3,7 +3,8 @@ | ||||||
|     %head |     %head | ||||||
|         %title Appointment Calendar |         %title Appointment Calendar | ||||||
|         %link{:href => "/static/officehours.css", :rel => "stylesheet", :type => "text/css"} |         %link{:href => "/static/officehours.css", :rel => "stylesheet", :type => "text/css"} | ||||||
|         %script{:src => "static/officehours.js"} |         %script{:src => "static/lib/require.js"} | ||||||
|  |         %script{:src => "static/index.js"} | ||||||
| 
 | 
 | ||||||
|     %body |     %body | ||||||
|         .container |         .container | ||||||
|  |  | ||||||
|  | @ -10,13 +10,13 @@ define [ | ||||||
|     diff = d.getDate() - day + (if day == 0 then -6 else 1) |     diff = d.getDate() - day + (if day == 0 then -6 else 1) | ||||||
|     new Date d.setDate diff |     new Date d.setDate diff | ||||||
| 
 | 
 | ||||||
|   class Officehours |   class OfficeHours extends Backbone.Model | ||||||
|     start: null, |     start: null, | ||||||
| 
 | 
 | ||||||
|     url: -> |     url: -> | ||||||
|       if start isintanceof Date then "/oh/hours/#{urlEncode start}" else "/oh/hours/" |       if @start instanceof Date then "/oh/hours/#{encodeURIComponent @start}" else "/oh/hours/" | ||||||
| 
 | 
 | ||||||
|     initialize: |     initialize: (model, option) -> | ||||||
|       @start = monday(new Date) |       @start = monday(new Date) | ||||||
| 
 | 
 | ||||||
|   # This is going to go with the Google idea of a view and overlays: |   # This is going to go with the Google idea of a view and overlays: | ||||||
|  | @ -25,22 +25,20 @@ define [ | ||||||
|      |      | ||||||
|   class Appointments extends Backbone.View |   class Appointments extends Backbone.View | ||||||
|    |    | ||||||
|   class OfficeHours extends Backbone.View |   class OfficeHoursView extends Backbone.View | ||||||
|      |      | ||||||
|   class DayView extends Backbone.View |   class DayView extends Backbone.View | ||||||
|      |      | ||||||
|        |        | ||||||
|   class CalendarView extends Backbone.View |   class CalendarView extends Backbone.View | ||||||
|     className 'calendar' |     className: 'calendar' | ||||||
|      |      | ||||||
| 
 |     events: | ||||||
|     events |  | ||||||
|       'click .forward': "nextWeek" |       'click .forward': "nextWeek" | ||||||
|       'click .backward': "lastWeek" |       'click .backward': "lastWeek" | ||||||
| 
 | 
 | ||||||
|     initialize: (options) -> |     initialize: (options) -> | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|   -> |   -> | ||||||
|     officehours = new OfficeHours |     officehours = new OfficeHours() | ||||||
|     $.when(officehours.fetch()).then(console.log(officehours.get('start'))) |     $.when(officehours.fetch()).then(console.log(officehours)) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue