[Add ranged-show-list and chooser clinton@unknownlamer.org**20080114211638] hunk ./src/web-common.lisp 282 +;; Ranged Show Viewer/Chooser + +(defcomponent ranged-show-list (database-range-view show-list) + ()) + +(defcomponent standard-ranged-show-list (ranged-show-list) + ()) + +(defcomponent ranged-show-chooser (ranged-show-list show-chooser) + ()) + +(defcomponent standard-ranged-show-chooser (ranged-show-chooser + standard-ranged-show-list) + ()) + +(defmethod range-view-get-instances ((range ranged-show-list) + lower upper + &rest keys) + (let ((lower (if (typep lower 'radio-show) (show-date lower) lower)) + (upper (if (typep upper 'radio-show) (show-date upper) upper))) + (apply #'get-shows-by 'show-date (and lower (1+ lower)) (and upper (1- upper)) + keys))) + +(defmethod range-view-count-instances ((range ranged-show-list) min max) + (golf-db::count-shows-by 'show-date min max)) + +(defmethod shows ((self ranged-show-list)) + (range-view.current-window-items self)) + +;; respecialize on standard-ranged-show-list +(defmethod render :after ((self standard-ranged-show-list)) + ;; mark with css classes + (<:p :class "ranged-show-list-pager" + (<:format "Page ~D of ~D" + (1+ (range-view.offset self)) + (1+ (range-view.window-count self))) + (<:as-html " ") + (if (range-view.have-previous-p self) + (