Exemple #1
0
        public PageJavaScriptProjection Create(IPage page, IEnumerable <IOptionValue> options)
        {
            IJavaScriptAccessor jsAccessor = null;
            Type pageType;

            if (page is IProxy)
            {
                pageType = page.GetType().BaseType;
            }
            else
            {
                pageType = page.GetType();
            }

            string key = "JAVASCRIPTRENDERER-" + pageType.Name.ToUpperInvariant();

            if (containerProvider.CurrentScope.IsRegisteredWithKey <IJavaScriptAccessor>(key))
            {
                jsAccessor = containerProvider.CurrentScope
                             .ResolveKeyed <IJavaScriptAccessor>(key, new Parameter[]
                {
                    new PositionalParameter(0, page),
                    new PositionalParameter(1, options)
                });
            }

            if (jsAccessor == null)
            {
                throw new CmsException(string.Format("No page javascript accessor was found for the page type {0}.", pageType.FullName));
            }

            var jsProjection = new PageJavaScriptProjection(page, jsAccessor);

            return(jsProjection);
        }
 public PageJavaScriptProjection(SerializationInfo info, StreamingContext context)
 {
     page       = (IPage)info.GetValue("page", typeof(IPage));
     jsAccessor = (IJavaScriptAccessor)info.GetValue("jsAccessor", typeof(IJavaScriptAccessor));
 }
 public PageJavaScriptProjection(IPage page, IJavaScriptAccessor jsAccessor)
 {
     this.page       = page;
     this.jsAccessor = jsAccessor;
 }
 public PageJavaScriptProjection(SerializationInfo info, StreamingContext context)
 {
     page = (IPage)info.GetValue("page", typeof(IPage));
     jsAccessor = (IJavaScriptAccessor)info.GetValue("jsAccessor", typeof(IJavaScriptAccessor));
 }
 public PageJavaScriptProjection(IPage page, IJavaScriptAccessor jsAccessor)
 {
     this.page = page;
     this.jsAccessor = jsAccessor;
 }