コード例 #1
0
        /// <summary>
        /// This method executes the build process
        /// </summary>
        /// <param name="qatId">The CUI ID for this QAT</param>
        /// <returns>The QAT object</returns>
        public bool BuildQAT(string qatId)
        {
            if (InQuery)
            {
                return(false);
            }

            if (IsIdTrimmed(qatId))
            {
                return(true); /* no error, so return true */
            }
            QATBuildContext qbc = new QATBuildContext();

            qbc.QATId = qatId;
            InQuery   = true;
            DataQuery query = new DataQuery();

            query.TabQuery  = false;
            query.Id        = qbc.QATId;
            query.QueryType = DataQueryType.Root;
            query.Handler   = new DataReturnedEventHandler(OnReturnQAT);
            query.Data      = qbc;
            DataSource.RunQuery(query);
            return(true);
        }
コード例 #2
0
        private QAT BuildQATInternal(object data, QATBuildContext qbc)
        {
            if (CUIUtility.IsNullOrUndefined(data))
            {
                throw new ArgumentNullException("No QAT element was present in the data");
            }

            QAT = new QAT(DataNodeWrapper.GetAttribute(data, "Id"),
                          DataNodeWrapper.GetNodeAttributes(data).To <QATProperties>());

            // Handle the controls in the QAT
            // The XML structure looks like <QAT><Controls><Control></Control><Control></Control>...
            JSObject controlsParent = DataNodeWrapper.GetFirstChildNodeWithName(data, DataNodeWrapper.CONTROLS);

            JSObject[] controls = DataNodeWrapper.GetNodeChildren(controlsParent);
            for (int j = 0; j < controls.Length; j++)
            {
                if (!IsNodeTrimmed(controls[j]))
                {
                    Control control = BuildControl(controls[j], qbc);
                    QAT.AddChild(control.CreateComponentForDisplayMode("Small"));
                }
            }

            return(QAT);
        }
コード例 #3
0
ファイル: qatbuilder.cs プロジェクト: modulexcite/IL2JS
 internal void BuildQATFromData(object dataNode, QATBuildContext qbc)
 {
     DataQueryResult dqr = new DataQueryResult();
     dqr.Success = true;
     dqr.QueryData = dataNode;
     dqr.ContextData = qbc;
     OnReturnQAT(dqr);
 }
コード例 #4
0
        internal void BuildQATFromData(object dataNode, QATBuildContext qbc)
        {
            DataQueryResult dqr = new DataQueryResult();

            dqr.Success     = true;
            dqr.QueryData   = dataNode;
            dqr.ContextData = qbc;
            OnReturnQAT(dqr);
        }
コード例 #5
0
ファイル: qatbuilder.cs プロジェクト: modulexcite/IL2JS
        /// <summary>
        /// This method executes the build process
        /// </summary>
        /// <param name="qatId">The CUI ID for this QAT</param>
        /// <returns>The QAT object</returns>
        public bool BuildQAT(string qatId)
        {
            if (InQuery)
                return false;

            if (IsIdTrimmed(qatId))
                return true; /* no error, so return true */

            QATBuildContext qbc = new QATBuildContext();
            qbc.QATId = qatId;
            InQuery = true;
            DataQuery query = new DataQuery();
            query.TabQuery = false;
            query.Id = qbc.QATId;
            query.QueryType = DataQueryType.Root;
            query.Handler = new DataReturnedEventHandler(OnReturnQAT);
            query.Data = qbc;
            DataSource.RunQuery(query);
            return true;
        }
コード例 #6
0
        private void OnReturnQAT(DataQueryResult dqr)
        {
            QATBuildContext qbc = (QATBuildContext)dqr.ContextData;

            // Apply any extensions to the data.
            dqr.QueryData = ApplyDataExtensions(dqr.QueryData);

            QAT            = BuildQATInternal(DataNodeWrapper.GetFirstChildNodeWithName(dqr.QueryData, DataNodeWrapper.QAT), qbc);
            QAT.QATBuilder = this;
            BuildClient.OnComponentCreated(QAT, QAT.Id);

            if (QATBuildOptions.AttachToDOM)
            {
                QAT.AttachInternal(true);
            }
            else
            {
                QAT.RefreshInternal();
                Placeholder.AppendChild(QAT.ElementInternal);
                Utility.EnsureCSSClassOnElement(Placeholder, "loaded");
            }
            OnRootBuilt(QAT);
            BuildClient.OnComponentBuilt(QAT, QAT.Id);
        }
コード例 #7
0
ファイル: qatbuilder.cs プロジェクト: modulexcite/IL2JS
        private QAT BuildQATInternal(object data, QATBuildContext qbc)
        {
            if (CUIUtility.IsNullOrUndefined(data))
                throw new ArgumentNullException("No QAT element was present in the data");

            QAT = new QAT(DataNodeWrapper.GetAttribute(data, "Id"),
                          DataNodeWrapper.GetNodeAttributes(data).To<QATProperties>());

            // Handle the controls in the QAT
            // The XML structure looks like <QAT><Controls><Control></Control><Control></Control>...
            JSObject controlsParent = DataNodeWrapper.GetFirstChildNodeWithName(data, DataNodeWrapper.CONTROLS);
            JSObject[] controls = DataNodeWrapper.GetNodeChildren(controlsParent);
            for (int j = 0; j < controls.Length; j++)
            {
                if (!IsNodeTrimmed(controls[j]))
                {
                    Control control = BuildControl(controls[j], qbc);
                    QAT.AddChild(control.CreateComponentForDisplayMode("Small"));
                }
            }

            return QAT;
        }