protected void OnSave(object sender, EventArgs args) { try { if (!Page.IsValid) { return; } TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTemplateReference); t.reference = txtReference.Text; t.type = ddrTemplateType.SelectedValue; td.Save(); CurrentTemplateReference = t.reference; if (Save != null) { Save(this, t); } ShowModulesList(); LoadData(CurrentTemplateReference); } catch (Exception e) { lbError.Text = e.Message; } }
public void SelectTemplate(string reference) { TemplateDefinition td = TemplateDefinition.Load(); CurrentTemplateReference = reference; if (reference == "") // Root Node { //Hidden TabEdit and TemplateEdit when Load first time TemplateCtrl.Visible = false; TemplateListCtrl.Visible = true; //Load data to TemplateList TemplateListCtrl.LoadData(td); } else { //Hidden TabEdit and TabList control when Edit Template TabListCtrl.Visible = false; TabCtrl.Visible = false; //Show TemplateEdit but hidden TemplateList TemplateDefinition.Template t = td.GetTemplate(reference); TemplateListCtrl.Visible = false; TemplateCtrl.Visible = true; TemplateCtrl.LoadData(reference); } }
protected void OnSaveTemplate(object sender, EventArgs args) { //Load PortalDefinition to get current Tab and Load TemplateDefinition to Save template PortalDefinition _objPortal = PortalDefinition.Load(); PortalDefinition.Tab _objCurrentTab = _objPortal.GetTab(CurrentReference); if (_objCurrentTab != null) { try { //Save to PortalDefinition _objPortal.TemplateColumns = _objCurrentTab.Columns; _objPortal.TemplateReference = _objCurrentTab.reference; _objPortal.Save(); //Save to TemplateDefinition TemplateDefinition _objTemplate = TemplateDefinition.Load(); TemplateDefinition.Template t = new TemplateDefinition.Template(); t.reference = txtReference.Text; t.type = Definition.CT_TYPE_TEMPLATE; t.Columns = _objCurrentTab.Columns; _objTemplate.templates.Add(t); _objTemplate.Save(); } catch (Exception e) { lbError.Text = e.Message; } } }
/// <summary> /// Thủ tục thêm một Module mới /// </summary> /// <param name="_strColumnRef">Mã tham chiếu đến cột sẽ chứa Module</param> internal void AddModule(string _strColumnRef) { // Nạp cấu trúc portal TemplateDefinition td = TemplateDefinition.Load(); // Tìm cột sẽ chứa Module mới PortalDefinition.Column _objColumnContainer = td.GetColumn(_strColumnRef); if (_objColumnContainer != null) { // Tạo Module mới PortalDefinition.Module _objNewModule = PortalDefinition.Module.Create(); // Thêm Module mới vào danh sách Module của cột _objColumnContainer.ModuleList.Add(_objNewModule); // Lưu cấu trúc Portal td.Save(); // Nạp lại thông tin Tab hiện thời LoadData(CurrentTemplateReference); // Hiển thị form sửa thông tin Module EditModule(_objNewModule.reference); } }
/// <summary> /// Thủ tục thực hiện chuyển vị trí của Module đã chọn xuống 1 mức /// </summary> /// <param name="idx">Vị trí hiện thời</param> /// <param name="list">Danh sách Module</param> internal void MoveModuleDown(int idx, ModuleList list) { // Nạp cấu trúc Portal TemplateDefinition td = TemplateDefinition.Load(); // Lấy thông tin cột chứa Module hiện thời PortalDefinition.Column _objColumnContainer = td.GetColumn(list.ContainerColumnReference); // Lấy danh sách Module của cột ArrayList _arrModuleList = _objColumnContainer.ModuleList; // Nếu Module đang ở mức cuối cùng thì kết thúc thủ tục if (idx >= _arrModuleList.Count - 1) { return; } // Lấy thông tin Module hiện thời từ danh sách Module PortalDefinition.Module m = (PortalDefinition.Module)_arrModuleList[idx]; // Gỡ Module ra khỏi vị trí hiện thời _arrModuleList.RemoveAt(idx); // Chèn Module vào vị trí mới _arrModuleList.Insert(idx + 1, m); // Lưu cấu trúc Portal td.Save(); // Rebind LoadData(CurrentTemplateReference); ShowCurrentEditingColumn(); }
private void ShowCurrentEditingParentColumn() { TemplateDefinition td = TemplateDefinition.Load(); PortalDefinition.Column _objCurrentColumn = td.GetColumn(CurrentColumnReference); if (_objCurrentColumn != null && _objCurrentColumn.ColumnParent != null) { EditColumn(_objCurrentColumn.ColumnParent.ColumnReference); } }
public void It_renders_its_child_parts() { var a = new TemplateDefinition("a"); a.Load(new Part[] { new LiteralText("b") }); var writer = new StringWriter(); var context = new RenderContext(new Template(), null, writer, null); a.Render(context); Assert.AreEqual("b", writer.GetStringBuilder().ToString()); }
protected void OnDelete(object sender, EventArgs args) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTemplateReference); TemplateDefinition.DeleteTemplate(CurrentTemplateReference); if (Delete != null) { Delete(this, t); } }
public void AddTemplate() { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = TemplateDefinition.Template.Create(); td.templates.Add(t); td.Save(); SelectTemplate(t.reference); }
protected void OnCancel(object sender, EventArgs args) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTemplateReference); if (Cancel != null) { Cancel(this, t); } LoadData(CurrentTemplateReference); ShowModulesList(); }
protected void OnDelete(object sender, EventArgs args) { if (Parent is Tab) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = pd.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); pd.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = td.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); td.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } // Hopefully we where redirected here! }
private void LoadData(string strTemplateReference) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(strTemplateReference); //Add HTML Table Cell //Start with columns whose level is minimum : -1, then end of template. int _iMaxColumnLevel_0 = t.GetMaxLevelOfColumnsInTemplate(); int _iMinColumnLevel_0 = t.GetMinLevelOfColumnsInTemplate(); for (int currentColumnLevel_0 = _iMinColumnLevel_0; currentColumnLevel_0 <= _iMaxColumnLevel_0; currentColumnLevel_0++) { //lay ve tat ca cac column co cung level ma se duoc chua tren cung 1 dong ArrayList _arrayListColumns = t.GetArrayColumnWithLevel(currentColumnLevel_0); //khoi tao dong moi TableRow parentRow = new TableRow(); parentRow.Width = Unit.Percentage(100); //khoi tao cell moi trong dong moi TableCell parentCell = CreateTableCell("", "", "", ""); parentCell.Width = parentRow.Width; parentRow.Cells.Add(parentCell); //Khoi tao mot bang moi trong cell moi (khong dung colspan hoac rowspan) de khong anh huong cau truc cua dong tiep theo Table childrenTable = new Table(); childrenTable.Width = parentCell.Width; parentCell.Controls.Add(childrenTable); TableRow childrenRow = new TableRow(); childrenRow.Width = childrenTable.Width; childrenTable.Rows.Add(childrenRow); foreach (PortalDefinition.Column column in _arrayListColumns) { TableCell cellColumn = AnalyseColumn(column); if (_arrayListColumns.Count == 1) { cellColumn.Width = childrenRow.Width; } childrenRow.Cells.Add(cellColumn); } //Them dong moi vao bang Table1.Rows.Add(parentRow); } }
protected void OnSave(object sender, EventArgs args) { try { if (!Page.IsValid) { return; } PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(CurrentReference); t.title = HttpUtility.HtmlEncode(txtTitle.Text); t.reference = txtReference.Text; t.SkinName = ddrSkins.SelectedValue; t.IsHidden = chkIsHidden.Checked; t.roles = RolesCtrl.GetData(); if (!string.Empty.Equals(ddrTemplateList.SelectedValue)) { //get information about selected template TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template template = td.GetTemplate(ddrTemplateList.SelectedValue); //apply template to tab by replace columns's tab by columns'template t.Columns = (ArrayList)template.Columns.Clone(); } pd.Save(); CurrentReference = t.reference; if (Save != null) { Save(this, t); } ShowModulesList(); LoadData(CurrentReference); } catch (Exception e) { lbError.Text = e.Message; } }
/// <summary> /// Hàm nạp dữ liệu về một cột /// </summary> /// <param name="_strColumnRef">Mã tham chiếu của cột cần sửa</param> /// <param name="_strTabRef">Mã tham chiếu của Tab chứa cột</param> public void LoadData(string _strColumnRef, string _strTabRef) { PortalDefinition.Column _objColumn = null; if (Parent is Tab) { // Lấy thông tin về cột cần sửa PortalDefinition pd = PortalDefinition.Load(); _objColumn = pd.GetColumn(_strColumnRef); } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); _objColumn = td.GetColumn(_strColumnRef); } if (_objColumn != null) { // Hiển thị thông tin về cột txtTitle.Text = _objColumn.ColumnName; txtColWidth.Text = _objColumn.ColumnWidth.ToString(); ltrColumnReference.Text = _objColumn.ColumnReference; chkDefaultColumnWidth.Checked = _objColumn.ColumnWidth == ""; //txtColWidth.ReadOnly = _objColumn.ColumnWidth == ""; txtCustomStyle.Text = _objColumn.ColumnCustomStyle; // Nạp danh sách các cấp độ có thể có cho cột hiện thời drdColumnLevel.DataSource = LoadAvaiableColumnLevels(_objColumn); drdColumnLevel.DataBind(); drdColumnLevel.SelectedIndex = (drdColumnLevel.Items.FindByValue(_objColumn.ColumnLevel.ToString()) != null) ? drdColumnLevel.Items.IndexOf( drdColumnLevel.Items.FindByValue( _objColumn.ColumnLevel.ToString())) : 0; CurrentColumnReference = _strColumnRef; CurrentTabReference = _strTabRef; CurrentTemplateReference = _strTabRef; chkDefaultColumnWidth.Attributes.Add("onclick", txtColWidth.ClientID + ".readOnly = this.checked;"); } }
protected void OnAddColumn(object sender, CommandEventArgs e) { if (Parent is Tab) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(e.CommandArgument.ToString()); if (t != null) { PortalDefinition.Column _objNewColumn = PortalDefinition.Column.Create(t); t.Columns.Add(_objNewColumn); pd.Save(); if (AddColumn != null) { AddColumn(this, _objNewColumn); } } } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(e.CommandArgument.ToString()); if (t != null) { PortalDefinition.Column _objNewColumn = PortalDefinition.Column.Create(t); t.Columns.Add(_objNewColumn); td.Save(); if (AddColumn != null) { AddColumn(this, _objNewColumn); } } } }
/// <summary> /// Thủ tục nạp dữ liệu về Tab đang sửa /// </summary> /// <param name="tabRef">Mã tham chiếu đến Tab đang sửa</param> public void LoadData(string templateRef) { CurrentTemplateReference = templateRef; TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTemplateReference); txtReference.Text = CurrentTemplateReference; string[] _arrTemplateType = new string[1] { "" }; ArrayList _arrTemplateTypeList = new ArrayList(); int _intSelectedIndex = 0; for (int i = 0; i < _arrTemplateType.Length; i++) { _arrTemplateTypeList.Add(_arrTemplateType[i]); if (t.type.Equals(_arrTemplateType[i])) { _intSelectedIndex = i; } } ddrTemplateType.DataSource = _arrTemplateTypeList; ddrTemplateType.DataBind(); if (_arrTemplateTypeList.Count > 0) { ddrTemplateType.SelectedIndex = _intSelectedIndex; } // Đọc danh sách Columns của Template // Hiển thị danh sách các Module được gắn vào từng Column lstColumns.LoadColumnList(t); ShowColumnsList(); }
public void FilterTemplateByType(string templateType) { TemplateDefinition td = TemplateDefinition.Load(); CurrentTemplateType = templateType; if (templateType == "") // Don't filter { //Hidden TabEdit and TemplateEdit when Load first time TemplateCtrl.Visible = false; TemplateListCtrl.Visible = true; //Load data to TemplateList TemplateListCtrl.LoadData(td); } else { //Hidden TabEdit and TemplateEdit when Load first time TemplateCtrl.Visible = false; TemplateListCtrl.Visible = true; //Load data to TemplateList TemplateListCtrl.LoadData(td, templateType); } }
/// <summary> /// Thủ tục lưu các thông tin đã xác lập của 1 Cột /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void OnSave(object sender, EventArgs args) { try { if (Page.IsValid) { // Save PortalDefinition.Column _objColumn = null; PortalDefinition pd = null; TemplateDefinition td = null; if (Parent is Tab) { // Lấy thông tin về cột cần sửa pd = PortalDefinition.Load(); _objColumn = pd.GetColumn(CurrentColumnReference); } else if (Parent is Template) { td = TemplateDefinition.Load(); _objColumn = td.GetColumn(CurrentColumnReference); } if (_objColumn != null) { // Cập nhật lại tên cột và độ rộng của cột _objColumn.ColumnName = txtTitle.Text; // Cập nhật màu nền của cột _objColumn.ColumnCustomStyle = txtCustomStyle.Text; // Cập nhật mức độ của cột _objColumn.ColumnLevel = Convert.ToInt32(drdColumnLevel.SelectedValue); //lay ve do rong cua cot string strColWidth = txtColWidth.Text; try { _objColumn.ColumnWidth = chkDefaultColumnWidth.Checked ? "" : strColWidth; } catch { // Nếu có lỗi, lấy độ rộng mặc định _objColumn.ColumnWidth = ""; } } if (Parent is Tab) { pd.Save(); } else if (Parent is Template) { td.Save(); } CurrentColumnReference = _objColumn.ColumnReference; if (Save != null) { Save(this, new EventArgs()); } } } catch (Exception e) { lbError.Text = e.Message; } }
internal void MoveColumnRight(string _strColumnReference) { // Nạp cấu trúc Portal TemplateDefinition _objPortal = TemplateDefinition.Load(); // Lấy thông tin về cột cần dịch chuyển PortalDefinition.Column _objSelectedColumn = _objPortal.GetColumn(_strColumnReference); // Nếu cột cần dịch chuyển không tồn tại thì kết thúc hàm if (_objSelectedColumn != null) { // Tìm kiếm danh sách cột trong đó có cột đang xét PortalDefinition.Column _objParentColumn = _objSelectedColumn.ColumnParent; ArrayList _arrColumnsList = null; // Nếu cột cha rỗng thì cột đang xét trực thuộc Tab if (_objParentColumn == null) { // Lấy thông tin Tab hiện thời TemplateDefinition.Template _objCurrentTemplate = _objPortal.GetTemplate(CurrentTemplateReference); if (_objCurrentTemplate != null) { // Lấy danh sách cột của Tab _arrColumnsList = _objCurrentTemplate.Columns; } } else { // Nếu cột đang xét là cột con của 1 cột khác, thì trả về danh sách các cột đồng cấp _arrColumnsList = _objParentColumn.Columns; } // Biến lưu vị trí của cột đã chọn trong danh sách int _intCurrentColumnIndex = 0; // Biến lưu trữ số cột đồng mức với cột đã chọn int _intSameLevelColumnsCount = 0; // Kiểm duyệt danh sách cột đồng cấp // Đếm cột có cùng Level for (int _intColumnCount = 0; _intColumnCount < _arrColumnsList.Count; _intColumnCount++) { PortalDefinition.Column _objColumn = _arrColumnsList[_intColumnCount] as PortalDefinition.Column; if (_objColumn.ColumnLevel == _objSelectedColumn.ColumnLevel) { if (_objColumn.ColumnReference == _objSelectedColumn.ColumnReference) { _intCurrentColumnIndex = _intSameLevelColumnsCount; } _intSameLevelColumnsCount++; } } // Duyệt danh sách các cột cùng cấp if (_arrColumnsList != null && _intSameLevelColumnsCount > 0) { // Để di chuyển sang phải --> không thể đang là vị trí cuối cùng if (_intCurrentColumnIndex >= (_intSameLevelColumnsCount - 1)) { return; } else { // Di chuyển cột đã chọn sang trái _arrColumnsList.RemoveAt(_intCurrentColumnIndex); _arrColumnsList.Insert(_intCurrentColumnIndex + 1, _objSelectedColumn); } } } // Lưu cấu trúc Portal _objPortal.Save(); // Nạp dữ liệu Template LoadData(CurrentTemplateReference); // Nạp dữ liệu cột if (CurrentColumnReference != "") { EditColumn(CurrentColumnReference); } }
/// <summary> /// Thủ tục nạp dữ liệu về Tab đang sửa /// </summary> /// <param name="tabRef">Mã tham chiếu đến Tab đang sửa</param> public void LoadData(string tabRef) { CurrentReference = tabRef; PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(CurrentReference); txtTitle.Text = HttpUtility.HtmlDecode(t.title); txtReference.Text = CurrentReference; chkIsHidden.Checked = t.IsHidden; TemplateDefinition td = TemplateDefinition.Load(); ArrayList _arrTemplateList = new ArrayList(); _arrTemplateList.Add(string.Empty); foreach (TemplateDefinition.Template template in td.templates) { _arrTemplateList.Add(template.reference); } ddrTemplateList.DataSource = _arrTemplateList; ddrTemplateList.DataBind(); //string _strSkinFolder = Portal.Ultility.ConfigurationSetting.GetConfigPhysicalPath(t.reference, Config.GetAppConfigValue("SkinPrefix"), Config.GetAppConfigValue("SkinFolder")); string _strSkinFolder = Server.MapPath(""); ArrayList _arrConfigFileList = new ArrayList(); _arrConfigFileList.Add("Skin.Default.config"); int _intSelectedIndex = 0; if (Directory.Exists(_strSkinFolder)) { DirectoryInfo _difConfig = new DirectoryInfo(_strSkinFolder); foreach (FileInfo _objConfigFile in _difConfig.GetFiles()) { string _strFileNamePart = "" + "." + t.reference + "."; if (_objConfigFile.Name.IndexOf(_strFileNamePart) >= 0) { if (_objConfigFile.Name == t.SkinName) { _intSelectedIndex = _arrConfigFileList.Count; } _arrConfigFileList.Add(_objConfigFile.Name); } } } ddrSkins.DataSource = _arrConfigFileList; ddrSkins.DataBind(); if (_arrConfigFileList.Count > 0) { ddrSkins.SelectedIndex = _intSelectedIndex; } RolesCtrl.LoadData(t.roles); // Đọc danh sách Columns của Tab // Hiển thị danh sách các Module được gắn vào từng Column lstColumns.LoadColumnList(t); ShowColumnsList(); }