new sidemenu UI component --- ditch jQuery and adopt the angular way of thinking