;;; -*- mode: Lisp; Syntax: Common-Lisp; -*- ;;; ;;; Copyright (c) 2009 by the authors. ;;; ;;; See LICENCE for details. (in-package :hu.dwim.presentation) ;; TODO localize this file! ;;;;;; ;;; context-sensitive-help (def constant +context-sensitive-help-parameter-name+ "_hlp") (def (icon e) context-sensitive-help :tooltip nil) (def (component e) context-sensitive-help/widget (content/mixin frame-unique-id/mixin) () (:default-initargs :content (icon/widget context-sensitive-help))) (def render-xhtml context-sensitive-help/widget (when *frame* (bind ((href (register-action/href (make-action (show-context-sensitive-help -self-)) :delayed-content #t)))
))) (def layered-function show-context-sensitive-help (component) (:method ((self context-sensitive-help/widget)) (with-request-parameters (((ids +context-sensitive-help-parameter-name+) nil)) (setf ids (ensure-list ids)) (bind ((components nil)) (map-descendant-components (root-component-of *frame*) (lambda (descendant) (when (and (typep descendant 'id/mixin) (member (id-of descendant) ids :test #'string=)) (push descendant components)))) (make-component-rendering-response (or (some (lambda (component) (make-context-sensitive-help component (component-dispatch-class component) (component-dispatch-prototype component) (component-value-of component))) components) #"context-sensitive-help.not-available")))))) (def layered-method make-context-sensitive-help ((component context-sensitive-help/widget) class prototype value) #"context-sensitive-help.self-description") ;;;;;; ;;; usage-help/widget (def (component e) usage-help/widget (component-messages/widget remote-setup/mixin title/mixin) () (:default-initargs :title (title/widget () "Segítség"))) (def (macro e) usage-help/widget (&rest args &key &allow-other-keys) `(make-instance 'usage-help/widget ,@args)) (def render-xhtml usage-help/widget (when (parameter-value +no-javascript-error-parameter-name+) (add-component-error-message -self- "Nincs engedélyezve az internet böngészőjében a JavaScript programok futtatása, így az alkalmazás sajnos egyátalán nem használható. Kérjük engedélyezze a JavaScript futtatását a beállításokban!")) (unless (supported? (identify-http-user-agent *request*)) (add-component-error-message -self- "Ezt az internet böngészőt vagy annak az éppen használt verzióját az alkalmazás nem támogatja. Az alábbi oldalon olvashatja a támogatott böngészők listáját és a letöltésükhöz szükséges információkat. A kellemetlenségért elnézését kérjük!")) (with-render-style/component (-self-) (render-title-for -self-) (render-component-messages-for -self-) ;; TODO: make this a book and localize it