Procházet zdrojové kódy

auto height meeting editing with textarea

master
Patrick Peng Sun před 8 roky
rodič
revize
b5adad4754
9 změnil soubory, kde provedl 62 přidání a 19 odebrání
  1. +1
    -1
      crmMeeting_test.go
  2. +11
    -0
      crmdMeeting.go
  3. +0
    -10
      editEvent.go
  4. +40
    -0
      editMeeting.go
  5. +2
    -2
      livecast.go
  6. +2
    -2
      main.go
  7. +3
    -1
      spa/assets/js/spa.js
  8. +2
    -2
      spa/editmeeting.html
  9. +1
    -1
      spa/pinegrow.json

+ 1
- 1
crmMeeting_test.go Zobrazit soubor

AssertEqual(t, newMeeting.Status, "Planned", "meeting status is planned") AssertEqual(t, newMeeting.Status, "Planned", "meeting status is planned")


AssertEqual(t, newMeeting.ParentName, "", "parentName not expected to be updated") AssertEqual(t, newMeeting.ParentName, "", "parentName not expected to be updated")
entity, err := crmFindEntityByID("Meeting", newMeeting.ID)
entity, err := crmGetEntity("Meeting", newMeeting.ID)
AssertEqual(t, err, nil, "re read saved meeting should be ok") AssertEqual(t, err, nil, "re read saved meeting should be ok")
anotherRead, ok := entity.(crmdMeeting) anotherRead, ok := entity.(crmdMeeting)
AssertEqual(t, ok, true, "reading entity shold be crmdMeeting") AssertEqual(t, ok, true, "reading entity shold be crmdMeeting")

+ 11
- 0
crmdMeeting.go Zobrazit soubor

//cover //cover
CoverID string `json:"coverId,omitempty"` CoverID string `json:"coverId,omitempty"`
CoverName string `json:"coverName,omitempty"` CoverName string `json:"coverName,omitempty"`

//for web spa operation
spaErrMsg string
} }


func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) { func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) {
} }
return return
} }

func (m *crmdMeeting) setSpaErr(e string) {
m.spaErrMsg = e
}

func (m crmdMeeting) ErrorMessage() string {
return m.spaErrMsg
}

+ 0
- 10
editEvent.go Zobrazit soubor

package main

import (
"fmt"
"net/http"
)

func editMeetingHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "ok meeting handled")
}

+ 40
- 0
editMeeting.go Zobrazit soubor

package main

import (
"fmt"
"html/template"
"io/ioutil"
"log"
"net/http"
)

func spaEditMeetingHandler(w http.ResponseWriter, r *http.Request) {
//fmt.Fprintf(w, "ok meeting handled")
e, err := crmGetEntity("Meeting", "595d064a6e372fc1f")
log.Println(err)
meeting, ok := e.(crmdMeeting)
log.Println(ok)
spaEditMeetingPopulateMeetingInfo(w, meeting)
}

func spaEditMeetingPopulateMeetingInfo(w http.ResponseWriter, meeting crmdMeeting) {
tTest := template.New("spaEditMeeting")
str, err := ioutil.ReadFile("spa/editmeeting.html")
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
fmt.Fprintf(w, "Formating information not available.")
return
}
tTest, err = tTest.Parse(string(str))
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
fmt.Fprintf(w, "Formating instruction invalid")
return
}
err = tTest.Execute(w, meeting)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
fmt.Fprintf(w, "Monkey runs into our computer room...")
log.Println("ERROR: Template execution on spa/Edit, failed \n" + err.Error())
}
}

+ 2
- 2
livecast.go Zobrazit soubor

Description string `json:"description,omitempty"` Description string `json:"description,omitempty"`
} }


func liveCastHandler(w http.ResponseWriter, r *http.Request) {
func spaLiveCastHandler(w http.ResponseWriter, r *http.Request) {
castID := "" castID := ""
q, err := url.ParseQuery(r.URL.RawQuery) q, err := url.ParseQuery(r.URL.RawQuery)
if err == nil { if err == nil {
} }


//castID = "5967812b87eb10564" //castID = "5967812b87eb10564"
entity, err := crmFindEntityByID("Livecast", castID)
entity, err := crmGetEntity("Livecast", castID)
if err != nil || entity == nil { if err != nil || entity == nil {
response404Handler(w) response404Handler(w)
return return

+ 2
- 2
main.go Zobrazit soubor

http.HandleFunc("/crmpixel.png", crmpixel) //tracking pixel. http.HandleFunc("/crmpixel.png", crmpixel) //tracking pixel.
http.HandleFunc("/crmcache", crmcache) http.HandleFunc("/crmcache", crmcache)
http.HandleFunc("/spa/editprofile", spaEditProfile) http.HandleFunc("/spa/editprofile", spaEditProfile)
http.HandleFunc("/spa/livecast", liveCastHandler)
http.HandleFunc("/spa/editmeeting", editMeetingHandler)
http.HandleFunc("/spa/livecast", spaLiveCastHandler)
http.HandleFunc("/spa/editmeeting", spaEditMeetingHandler)
http.ListenAndServe(":65500", nil) http.ListenAndServe(":65500", nil)
} }



+ 3
- 1
spa/assets/js/spa.js Zobrazit soubor

} }


$(document).ready(function() { $(document).ready(function() {
console.log("ready");
$('.datepicker').pickadate({ $('.datepicker').pickadate({
format: 'mm/dd/yyyy', format: 'mm/dd/yyyy',
selectMonths: true, // Creates a dropdown to control month selectMonths: true, // Creates a dropdown to control month
$('#modalerr').modal('open'); $('#modalerr').modal('open');
} }
$("textarea").height( $("textarea")[0].scrollHeight );
console.log("spa ready");
}); });


$("form").submit(function(event){ $("form").submit(function(event){

spa/newevent.html → spa/editmeeting.html Zobrazit soubor

<div class="row"> <div class="row">
<div class="input-field col s12"> <div class="input-field col s12">
<i class="mdi-action-loyalty small prefix"></i> <i class="mdi-action-loyalty small prefix"></i>
<input name="meetingname" id="meetingname" type="text" class="validate">
<input name="meetingname" id="meetingname" type="text" class="validate" value="{{.Name}}">
<label for="meetingname"> 活动主题/标题 (30字以内) </label> <label for="meetingname"> 活动主题/标题 (30字以内) </label>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="input-field col s12"> <div class="input-field col s12">
<i class="mdi-action-list small prefix"></i> <i class="mdi-action-list small prefix"></i>
<textarea id="description" name="description" class="materialize-textarea"></textarea>
<textarea id="description" name="description" class="materialize-textarea">{{.Description}}</textarea>
<label for="description"> <label for="description">
活动描述 200字左右 活动描述 200字左右
</label> </label>

+ 1
- 1
spa/pinegrow.json Zobrazit soubor

{"files":{"edit.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.asset.manager","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":896},"404.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.asset.manager","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"livecast.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.project.items","pg.asset.manager","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"newEvents.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.project.items","pg.asset.manager","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"newevent.html":{"frameworks":["spa","pg.insight.events","pg.asset.manager","pg.code-validator","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":1024}},"breakpoints":["28.875em","33.875em","35.875em","38.875em","40.125em","46.75em","360px","390px","420px","450px","480px","510px","540px","570px","601px","630px","660px","690px","720px","750px","780px","810px","840px","870px","900px","930px","960px","993px","1200px"],"frameworks":["spa","pg.insight.events","pg.asset.manager","pg.code-validator","pg.project.items","mat0.97.5","pg.html","pg.components"],"template_framework_id":"materialize"}
{"files":{"edit.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.asset.manager","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":896},"404.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.asset.manager","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"livecast.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.project.items","pg.asset.manager","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"newEvents.html":{"frameworks":["spa","pg.insight.events","pg.code-validator","pg.project.items","pg.asset.manager","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"newevent.html":{"frameworks":["spa","pg.insight.events","pg.asset.manager","pg.code-validator","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":1024},"editmeeting.html":{"frameworks":["spa","pg.insight.events","pg.asset.manager","pg.code-validator","pg.project.items","mat0.97.5","pg.html","pg.components"],"last_page_width":1024}},"breakpoints":["28.875em","33.875em","35.875em","38.875em","40.125em","46.75em","360px","390px","420px","450px","480px","510px","540px","570px","601px","630px","660px","690px","720px","750px","780px","810px","840px","870px","900px","930px","960px","993px","1200px"],"frameworks":["spa","pg.insight.events","pg.asset.manager","pg.code-validator","pg.project.items","mat0.97.5","pg.html","pg.components"],"template_framework_id":"materialize"}

Načítá se…
Zrušit
Uložit